AFNetworkingを使用していますか? はいの場合は、クラスを更新してください。 クラスAFNetworkReachabilityManagerのAFNetworkingライブラリのコードの次の行を変更します。
CHANGE AF_INET TO AF_INET6;
+ (instancetype)sharedManager {
static AFNetworkReachabilityManager *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET6; //Change AF_INET TO AF_INET6
_sharedManager = [self managerForAddress:&address];
});
return _sharedManager;
}
それ以外の場合、ネットワークにはどのクラスまたはライブラリを使用していますか?
編集:あなたが要求したように、ここでは、あなたのアプリケーションをテストし、それは準備ができたIPv6ているかどうかを確認する方法についてのチュートリアルです:
http://www.brianjcoleman.com/tutorial-how-to-test-your-app-for-ipv6-compatibility/
それはあなたのMacでのIPv6 NAT64唯一のネットワークの構築をカバーMacからあなたの他のWi-Fi(またはBluetoothなど)デバイスにインターネット接続を共有します。
次に、すべての呼び出しがipv6専用ネットワーク経由で行われていることを確認して、アプリ内ですべてのテストを行うことができます。
EDIT2:
これらのウェブサイトは、あなたのIPv6 IPアドレスを表示することはできません。このチュートリアルを使用した場合、ipv6アドレスはプライベート(ネットワーク内にあります)のアドレスです。これはあなたのiPhoneとあなたのMac間の通信に使用されます。 インターネットのウェブサイトに表示されているのは、お使いのインターネットサービスプロバイダによってモデムに与えられ、一般的にはipv4ネットワークである、PUBLIC ipです。
結論として、あなたのアプリはipv6アドレスで動作しています。これらのテストサイトでは、ルータ/モデムの公開アドレスしか表示されないため、これらのテストWebサイトは検出されません。
パブリックとプライベートのIPアドレスの詳細については、This linkを参照してください。この場合は
は、あなたが検索するものである、またはそれはあなたの問題を解決するかどうか、その答え:)
([あなたがグローバルIPv6アドレスを参照することを意図していない] http://stackoverflow.com/を受け入れてください。 a/39862158/1068283)を参照してください。 IPv4アドレスのみが表示されます。この場合、iOSデバイスとNAT64ネットワークを実行するMacとの間のローカルネットワークセグメントのみがIPv6を使用します。 –