2016-05-08 15 views
16

2015年と2014年に構築されたアプリがあります。どのようにしてIPv6をテストできますか?
私のアプリがIPv6をサポートしていない場合はどうすればよいですか?iOSアプリケーションのテスト方法はIPv6をサポートしていますか?

私のアプリはAFNetworkingとAlamofireを使用しています。主にドメインに接続しています(例:api.example.com/v1/ ...)。 1アプリのみがIPを使用します(例:12.12.12.12:3000/api/v1/ ...)。

ウェブソケットに問題はありますか? (ws://12.12.12.12:8080/api/....)。

+1

テストしましたか? Appleのドキュメントから[IPv6 DNS64/NAT64互換性に関するテストを定期的に行う](https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/IPv6Transition/UnderstandingandPreparingforIPv6Transition.htmlを参照)セクションを参照してください。 – yaakov

答えて

16

あなたのアプリについて詳しく知ることなく、確実に言うことは難しいです。具体的には:

  • あなたはIPアドレスを直接使用していますか?
  • ユーザーがURL以外の形式で直接入力できるようにしていますか?
  • AppleのNSURLベースのAPI以外のAPIを使用してネットワーク接続を直接行っていますか?
  • 何らかの理由でDNSルックアップを明示的に実行していますか?

これらの4つの質問に対する回答がすべて「いいえ」の場合、IPv6をサポートするために何も変更する必要はありません。

IPアドレスを直接使用する場合、ユーザーがこれらのアドレスを入力できる必要がある場合は、IPv6アドレスを入力して適切に解決できるようにコードを追加することをお勧めします。

あなたのコードが独自にDNS解決を行っていて、IPアドレスで何かをしている場合は、IPアドレスを処理し、IPアドレスで呼び出すAPIに正しく渡すように更新する必要があります。

ハードコードされたIPアドレスは問題です。これらのIPアドレスのホスト名を作成する必要があります。そうすれば、デバイスのDNSリゾルバはさまざまな魔法を使って偽のIPv6アドレスを作成し、実際のIPv4アドレスへのネットワークアドレス変換をどこかのルータで行うことができます。

私が知る限り、AFNetworking 3.0以降は、AlamoFireの最新バージョンのように、うまくいくはずです。あなたが最新のものであることを確認してください。

+0

1時間前に私の質問を更新しました。それを読んで答えを更新してください。ありがとうございました:) –

+0

私はそうしました。 – dgatwood

+0

Appleには、Appleの通常の通り、どのようにIPV6のためのアプリケーションをテストするのかについてのガイドがあります(https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPv6Transition/PreparingfortheIPv6Transition.htmlを参照してください) – orkoden

関連する問題