現在僕はネットを解約してネットが使えない状況なので、
ネットに繋がっていない状態でもどうにかiOSとAPIの開発したいと思い、
調べたところ、意外にあっさり出来たのでメモ。
やりたいこと
- iOSシミュレータからPHPのビルトインサーバへアクセスしたい
- ルータを使わずにMac一台で完結させたい
環境
- Xcode:v7.3.1
- Mac:OS X EI Capitan
方法
LAN経由でやっているところが多かったので、
難しいのかなと思ったのですが、やってみたら簡単でした。
'Hello World'が無事に取得できることを目標にします。
test.php
<?php
$json = json_encode('hello world');
echo $json;
localhost:8001
でウェブサーバを起動(PHPでやります)
php -S localhost:8001
iOSシミュレータ側で通信する際のIPアドレスにlocalhost:8001
を指定
viewDidLoad()へ下記のコードを記述。(Alamofire導入済みを想定。AFNetworkingとかでもおk)
ViewController.swift
Alamofire.request(.GET, "http://localhost:8001/test.php")
.responseJSON { response in
switch response.result {
case .Success(let value):
print(JSON(value).stringValue)
break
case .Failure:
print("fail")
}
}
あとは起動すれば...
出来ました!やった!
でも、これどうやってシミュレータがネットに繋がっているのかという疑問が出てきました...。
機会があったら調べてみます。
参考
大変参考になりました!Androidシミュレータでもできるみたいです!Androidシミュレータからは10.0.2.2でPCホストへ接続できるみたいです。