LoginSignup
14
11

More than 5 years have passed since last update.

localhost(PC側)にiOSやAndroidのシミュレータから繋ぐ方法

Last updated at Posted at 2016-08-26

現在僕はネットを解約してネットが使えない状況なので、
ネットに繋がっていない状態でもどうにか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")
                    }
            }

あとは起動すれば...

スクリーンショット 2016-08-26 10.46.34.png

出来ました!やった!

でも、これどうやってシミュレータがネットに繋がっているのかという疑問が出てきました...。
機会があったら調べてみます。

参考

大変参考になりました!Androidシミュレータでもできるみたいです!Androidシミュレータからは10.0.2.2でPCホストへ接続できるみたいです。
* https://ultimate-ez.com/2014/03/25/3530/

14
11
0

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
14
11