3

モバイル アプリのデスクトップ バージョンを構築し、wifi 経由で同期するユーザーを提供します。シミュレーターではすべてがうまく機能します。ネット サービス (デスクトップ アプリによって公開されます) の解決や、サービスが利用できなくなったときの通知に問題はありません。

問題は、電話サービスでアプリを実行すると (場合によっては) 検出されて解決されますが、NSNetServiceBrowser は、サービスが利用できなくなったときに気付かないことです。これが発生すると、ネット サービス ブラウザは、ネット サービス (公開されていない) を常に見つけて解決しますが、接続できません。何度か失敗した後、サービス ブラウザー デリゲートの "didRemoveService" が最終的に呼び出され、アプリは再び正しく動作し始めます。

コードを投稿したいと思いますが、Apple の WiTap の例でも同じ問題が発生していることを発見しました。サービスは公開されて検出されますが、一度使用できなくなると、サービス ブラウザーを実行しているクライアントは更新されず、「存在してはならない」サービスを繰り返し解決しようとします。

Wi-Fi をオフにして WiTap を実行すると (Bonjour は Bluetooth を使用するため)、すべて正常に動作することがわかりました。WiTap が機能しないことについて不平を言う人を見つけることができず、この問題をオンラインのどこにも見つけることができません。おそらく iPhone OS や私の無線ネットワークが原因で、ネット サービス ブラウザが利用できないサービスを見つけて正しく解決できる (しかし接続できない) 理由は何ですか?

4

1 に答える 1