NSNetServiceでBonjourを使用して、iPhoneからサーバーを公開しています。すべて期待どおりに機能し、提供しているページなどを閲覧できます。ただし、iPhoneでは、ホスト名(つまり、「myDevice.local。」などのURL)を表示して、ブラウザで手動でアドレス指定します(bonjour検出サービスがないクライアントに便利です)。私の理解では、メソッド[myNetService hostName]を呼び出すと、そのアドレスが得られるはずです。ただし、この呼び出しは常にnilを返します。いくつかのフォーラムで、最初にサービスを解決する必要があると読みましたが、[myNetServiceresolve]と[myNetServiceresolveWithTimeout:10]の両方がデリゲートメソッドを呼び出します
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict;
エラーで
{
NSNetServicesErrorCode = -72003;
NSNetServicesErrorDomain = 10;
}
これは明らかに、それがすでに解決されていることを意味します。繰り返しますが、私がサービスを使用できる間、これはすべて起こっています。また、ポート、ドメイン、およびサービスのタイプを取得できます。他の唯一の奇妙なことは、[myNetServiceアドレス]の呼び出しが空の配列を返すことです。
SDK3.1.3を使用しています。誰かが私が間違っている可能性があることを知っていますか?