サーバーに照会するアプリケーションを開発しています。 Macでは、hostsファイルを使用して、ローカルエリアネットワーク内のローカルサーバーを指すようにDNSを変更します。
次に、iPhoneでテストする必要があります。問題は、dnsの設定が見つからないため、iPhoneがそのサーバーを認識しないことです。
MacまたはWindowsでは、ホストファイルに192.168.0.20 http://www.google.com
を追加するだけです。
では、どうすればiPhoneにURLを知らせることができますか: http://www.google.com
?
これはあなたの質問に直接答えませんが、あなたの問題を解決します...
ルーターのメーカーは何ですか?ルーターのファームウェアにより、ローカルネットワークのDNSレコードを設定できる場合があります。これは私が Tomato firmware で行うことです
ここでのもう1つのオプションは、プロキシ経由でiPhoneを接続することです。以下は、Fiddlerを使用して行う方法の例です(非常に簡単です)。
http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
その場合、iPhoneが行うDNSルックアップでは、Fiddlerが実行されているマシンのホストファイルが使用されます。 注、ただし、DNSを介して解決される名前を使用する必要があります。たとえば、example.local
は機能しません。 example.xyz
またはexample.dev
意志。
プログラミング関連ではありませんが、とにかく答えます。 /etc/hosts
にあります。
nano
などの単純なテキストエディターで変更できます。
(明らかに、これにはジェイルブレイクされたiPhoneが必要です)
IPhoneの「hosts」ファイルを正常に編集しました(Jailbroken iOS 4.0で)。
simophone.local
]root
Alpine
/etc/hosts
ファイルにあります電話機は一部のWebページとDNSクエリをキャッシュするため、再起動またはキャッシュのクリアが役立つ場合があります。それが誰かを助けることを願っています。
サイモン
他の誰かがこのページに該当する場合は、URLリクエストでドメインの代わりにIPアドレスを使用して、これを解決することもできます。
NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];
次に、ホストを手動で指定します。
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];
サーバーに関する限り、http://myserver/mypage.php
を使用した場合とまったく同じように動作しますが、iPhoneはDNSルックアップを実行する必要がありません。
100%パブリックAPI。
存在する可能性がありますが、ジェイルブレイクされていないiPhoneでは変更できません。
開発用ウェブサーバーがMac上にあると仮定して、MyMac.local.
の代わりにそのBonjour名(たとえばmyrealwebserverontheinternet.com
)を使用しないのはなぜですか?
電話のDNSを変更しないでください。代わりに、wifiを使用してローカルネットワークに接続すると、設定は完了です。
私のオフィスには、インターネットに公開されていない内部DNSを備えた内部サーバーがあります。 iPhoneをオフィスのwifiに接続するだけで、それらに正常にアクセスできます。
YMMVですが、電話のDNSを構成する代わりに、ローカルの内部DNSとwifiをセットアップするだけで、よりクリーンで簡単なソリューションであると感じています。
いいえ、iPhoneアプリケーションは、独自の小さなサンドボックス内の内容のみを変更できます。 (そして、その場で変更できないものもあります。)
最善の策は、おそらくホスト名ではなくサーバーのIPアドレスを使用することです。少し難しくなりますが、単一のアドレスを解決するだけならthat hardは、DNSサーバーをMacに置き、それを使用するようにiPhoneを構成することです。