Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

iPhoneの実機テストで仮想マシン内のAPIを叩こうとした話

初投稿です。
swiftを触り始めて2週間程度の初心者が、業務の都合で仮想マシンに置いてあるAPIを叩こうとしてハマった話です。

もともとPHP + Vagrantで作成していた開発していたサービスを
iOSアプリ化したいとのことだったので、満を辞してxcodeを導入して
華麗なswiftデビューを飾る予定でしたが…

「あれ?どうやってDBにアクセスすんの?」

予定は未定と言いますが、あまりにも無様なデビューを飾りました。
とりあえず、PHPでAPIを書いてjson形式でデータを返すのが一般的との
ことだったので、status = 200を返すだけのAPIを仮設置。

これでswift側からurlにアクセスすればいけると思ってましたが、
人生そんなにうまく行かないご様子。
  
 
結果から先に言うとホスト側から仮想マシンにアクセスできてなかったと言うオチです。
 
 
言われてみれば、iPhone側からしたらVagrant内の設定など知ったこっちゃないのです。
と言うことなので、ちまちま調べているとようやくお目当の記事を発見。
この記事に全てが書かれてました。

仮想マシンのWebサーバのHTTP通信のポートは80なので、仮想マシンのHTTP通信をホスト側のポート8080でマッピングするよう~/.Vagrant.d/Vagrantfileに以下を追加。

config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true

これでやっとアクセスできた。
ここまで来るのにほぼ丸一日かかった。
しかし、iOS開発をしている人はみんなこんなことしているのかと思うとゾッとします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?