Terminal

Macのhosts設定をiPhoneやスマホで利用して実機検証を行う

2017.09.04

2017.12.03

MacとiPhone

hosts設定でつないでいるドメインに、Macのhosts設定を使用し、スマホの実機接続ができるようにする方法を紹介します。MacにHomebrewとdnsmasqで簡易DNSサーバーを立て、実機検証できるようにします。

Macの準備

ターミナルを使って行います。インストールにつまづかなければ15分もかかりません。

Homebrewのインスール

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

まずターミナルから上記コマンドを入力し、Homebrewをインストールします。HomebrewはMac用のパッケージマネージャーで、今回dnsmasqのインストールはHomebrewで行います。

Homebrewについては「Macでプログラム学習環境構築するならHomebrewが色々便利」を参考にして下しさい。

Press RETURN to continue or any other key to abort

と聞かれますのでとりあえずreturn。その後パスワードを聞かれますのでパスワードを入力しインストール開始です。

fatal: unable to access 'https://github.com/Homebrew/brew/': SSL certificate problem: Invalid certificate chain
Failed during: git fetch origin master:refs/remotes/origin/master --tags --force --depth=1

もし、上記メッセージが表示されインストールができなかった場合は期限切れの中間証明書が原因です。証明書キーチェンアクセスから期限切れの中間証明書を削除後、再度Homebrewをインストールします。※間違えて証明書を削除すると大変なことになるので自己責任で行ってください。

インストールに成功するとInstallation successful!のメッセージが出力されます。

dnsmasqのインストール

続いて以下コマンドでdnsmasqをインストールします。

brew install dnsmasq

インストールが完了したら以下コマンドで設定ファイルを用意します。

cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

dnsmasqサービス開始コマンド

一通り準備が完了したら以下コマンドでサービスを起動します。

sudo brew services start dnsmasq

MacとiPhoneが同じネットワーク上に繋がっていればMac側の設定は以上で完了です。

iPhoneやスマホの準備

iPhone及びスマホの設定は接続しているネットワークのDNSをMacが接続しているIPアドレスに設定すればOKです。iPhoneの場合は設定>Wi-Fi>接続しているネットワーク>DHCPタブのDNSを設定します。MacのIPアドレスの確認はターミナルから以下コマンドを入力で確認できます。

ipconfig getifaddr en0

Macでhosts設定したアドレスが確認できれば成功です。これでDNSの向いていないサーバーでも実機検証ができるようになりました。エミュレーターも精度は上がっていますが実機でないと見えてこないエラーも潜んでますからね!うまくいかない場合、基本的な事ですが設定を疑う前にスマホのキャッシュをクリアしましょう。

検証終了後はサービス終了とDNSの設定を戻す事を忘れずに

実機検証終了後はMacはdnsmasqのサービス停止、iPhoneの方はDNSの設定を戻すのを忘れないでください。私は実機検証を行った事をすっかり失念していて何でWiFiつながんねーんだ!ってなった事があります。

dnsmasqサービス停止コマンド

sudo brew services stop dnsmasq

WEBSITE DESIGN REQUEST

ホームページ制作依頼について

W・D・Sでホームページ制作をご希望の方はお気軽にご相談ください。
制作内容、ご予算、納期をお知らせいただくとスムーズです。

ホームページ制作を相談する