私はコードをもっている CocoaHTTPServer Bonjourを使用してサービスを公開します。そして、ttはこれにNSNetServiceを使用します。
ドメイン「.local」を定義すると、(OS XとiOSの両方で)正常に機能します。ただし、他に何かを定義した場合、サービスは公開されず、サーバーを公開しなかったデリゲートは呼び出されません。
私はこれを調査し、次の情報を見つけました。
からのドキュメント NSNetServiceクラス:
このクラスとNSNetServiceBrowserクラスは、マルチキャストDNSを使用して ネットワークサービスに関する情報をあなたとの間で伝達します 応用。
からのドキュメント Bonjourドメイン名
Bonjourシステムでは、ローカル。あるべき名前を示すために使用されます ローカルIPネットワークでIPマルチキャストクエリを使用して検索しました。
NSNetServiceクラスは.localドメインでのみ機能し、広域bonjour(異なるドメイン)では機能しないことを正しく理解していますか?
追伸何も欠けていない場合は、Appleに連絡する予定です。正しい値が1つだけで、他のすべてが正しくない(エラーによって報告されない)引数があるのは奇妙だからです。
回答:
回答№1は2NSNetService
以外のドメインで動作します local.
.
サービスを公開する前に、 NSNetServiceBrowser そして - (void)searchForRegistrationDomains
適切な登録ドメインを見つけるため。
りんご NSNetServicesおよびCFNetServicesプログラミングガイド サンプルコードを含むこれに関するセクションが含まれています: ドメインの閲覧.