Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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

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

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

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

http://maku77.github.io/vagrant/port-forward.html

仮想マシンの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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした