Web開発やアプリ開発をする上で、実機でローカルホスト接続を行いたい場面があると思います。
#実行環境
・iOS9
・OS X El Capitan 10.11.3
・Wi-fi接続
今回の実行条件としてiPhoneとMacが同じネットワーク上に接続していることが必須となります。
Lightningケーブルで接続する必要はありません。
#Macのローカルホスト名を確認
まずはじめに、接続先となるMacのローカルホスト名を確認します。
ローカルホスト名は「システム環境設定」から「共有」を選択し、コンピュータ名が書いてあるテキストボックスの下に書いてあります。
「**.local」と書いてある文字列がそうです。右側の編集ボタンを押して違う名前に変更することも可能です。
#Safariからローカルサーバーへ接続
ローカルホスト名が確認できたらMac上のブラウザからhttp://localhost
と接続するように、localhostの部分をMacのローカルホスト名に置き換えてhttp://**.local
と入力して接続します。
これでiPhoneからローカルホスト接続ができると思います。もし接続がうまくいかない場合は、同じネットワークに接続しているか、 またはポート番号を設定していて間違っていないかを確認しましょう。
#アプリからローカルサーバーへ接続
ここまででiPhone上のブラウザからローカルサーバーへ接続するのは可能になったわけですが、Xcodeで作成したアプリから接続するには あとひとつ設定を行わなければいけません。
なぜなら、作成したアプリの設定では、App Transport Securityの影響でhttp接続の**.localのローカルサーバーとは通信できないからです。
そこで設定を変更する為に、作成したアプリのinfo.plistを開いて以下の項目を記入します。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Xcodeのリスト表示上では、このように表示されれば設定は完了です。
以上で、iPhoneアプリからでもMac上のローカルサーバーへ接続できると思います。