LoginSignup
151
145

More than 5 years have passed since last update.

iOS9対応のために、IPv6 only NetworkでのiOSアプリの動作テスト方法を調べてみた

Last updated at Posted at 2015-10-03

概要

IPv6環境でのiOSアプリの動作テストを、Appleの公式ドキュメントを読んでやってみました。その設定方法をまとめた記事となります。ただし、2015年夏にまとめた情報ですので、今はもっといい方法が出てるかもしれません。

背景

2016年6月1日以降、iOS9ではIPv4だけでなくIPv6環境で正しく動作するかを審査でチェックされます(2016/5/4 Supporting IPv6-only Networks)。
なお、IPv6対応の全体像は、以下の記事をとても参考にさせていただきました。ご参照ください。
[Qiita]iOS9 で必要な IPv6 only Network への対応

iOSデバイスをIPv6で接続するようにする設定手順

以下の図(Apple公式ドキュメントより)のように、外部ネットワークからMacまでは有線でつなぎ、MacからiOSデバイスの間をDNS64/NAT64により、IPv6に変換してテストを行います。

image

事前準備

1.使用するMacをOS X El Capitan(エルキャピタン)にアップデートしましょう。それ以前のOSではできません。
2.Macを有線LANでなくて、Wi-Fi経由でインターネットにつないでいる方は以下の準備が必要です。

普段接続しているWi-Fiにつながらなくする

iOSデバイスとMacの設定を後ほどWi-Fiにします。その際に、普段Macが接続しているネットワークに勝手につながってしまい、有線LAN経由にならないので、面倒ですが、いったん設定を削除します。(テストが終わったらまたパスワード入れる必要があって面倒です汗)
1.ネットワーク環境設定で、「詳細」をクリック
2.普段接続しているネットワークを選択して、「-」をクリックして、設定を削除

image

有線LANに接続

USBかThunderbolt経由で有線LANに接続するアダプタを用いて、LANとMacを接続。

image

設定本編

1.MacをインターネットにWi-Fiを使わずに接続
2.システム環境設定を起動
3.Optionキーを押しながら、「共有」を選択。その後もOptionキーは押したまま。
4.「インターネット共有」を選択
5.Optionキーを離す
6.「NAT64ネットワークを作成」を選択
7.MacLANに接続している方は、「Thunderbolt Ethernet」を選択肢てください。
8. MacからiOSデバイスに接続する方法として、「Wi-Fi」を選択

image

9.「Wi-Fiオプション」を選択。セキュリティを「WPA2パーソナル」に設定し、適当なパスワードを設定
image

10.「インターネット共有を選択」。「インターネット共有」の◯が赤から緑に変化。

image

11.iOSデバイスを、Wi-Fiオプションで設定したネットワークに接続。パスワードは先程自分で設定した内容。

iPhoneがIPv6で接続できているかどうかの確認

あれ、IPv6で接続テストになっていない?

「IPv6 接続 確認」などでググると、自分がIPv6で接続しているかIPv4で接続しているかを判定してくれるサイトがいくつも出てきます。
結論から言うと、それらのサイトではIPv4で接続していると表示されます。

「あれ、今の設定をしたからIPv6で繋がるはずでは?」

と思って最初困惑したのですが、特に問題無いです。

MacのDNS64/NAT64が、IPv4とIPv6の変換をしている

というのも、IPv6環境はあくまでもiOSデバイスとMacの間だけで、Macから外のネットワークはIPv4になっているからです。
なので、先述のサイトではIPv4と表示されてしまったのです。

Stack Overflowでの質問

同様の疑問を持たれている方が質問している人がいるので、抄訳を行いました。
以下のやり取りにも有りますが、先述のようのIPv6で繋がっていないと判定されてしまうことは、問題無いです。

Setting up IPv6 environment using OSX 10.11 Beta 5 (El Capitan) Asked by at AFresh at 2015/07/30

AppleのドキュメントのTest for IPv6 DNS64/NAT64 Compatibility Regularlyの通りに設定したのに、IPv6を確認するサイトにアクセスしてみると、IPv6を使ってないと表示されてしまったよ。ちゃんと設定しているはずなのにおかしいな。誰か僕と同じようにはまってしまってる人はいないかな??

Answer by Sander Steffann at 2015/07/13

君の設定は何も間違ってないと思うよ。NAT64を使うことで、内部のIPv6接続は外部のIPv4接続に変換している。だからIPv6接続のテストサイトではIPv6を使っているとは表示されていないんだ。

実際にアプリで動作を確認する

ここまで設定を行えば、iOSデバイスがIPv6環境でインターネットに接続されています、この状態で動作の確認をすることでIPv6できちんと動作するかどうかを検証することができます。ちなみに私が関わっているアプリは問題なく動きました(^O^)
他の有名所のアプリも試してみましたけど、動かないものはみつからなかったです。意外と何も対応しなくても大丈夫なのかもです(私見)。

151
145
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
151
145