2011-12-26 30 views
4

Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];到達可能性 - 奇妙な問題

この行は、デバイス上で正常に動作しますが、シミュレータ上で、私はクラッシュを取得:

*

キャッチされない例外によりにアプリを終了 'NSInvalidArgumentException'、理由:「+ [到達可能到達可能性ホスト名:]:クラスに送信されたセレクタが認識されない

誰に通知するのですか?

答えて

3

解決済み、私はウェブを検索しましたが、これは以前のシステムコンフィグレーションフレームワークを削除して追加して追加し、プロジェクトをクリーンアップしてからビルドし直してください。完全に

9

私はほとんど同じ問題を抱えていましたが、リンカーはポッド経由でReachabilityをリンクしていませんでした。

internetReachable = [Reachability reachabilityWithHostName:@"www.google.com"]; 

この行コンパイラでエラー 'セレクタreachabilityWithHostName:'のための既知のクラスメソッドがありませんでした。

私は可読性を読み込もうとしましたが、プロジェクトをクリーンアップしようとしましたが、何も助けてくれませんでした。それから、私はこの行を書き直そうとしましたが、それはコンパイルされました!

internetReachable = [Reachability reachabilityWithHostname:@"www.google.com"]; 

そして、なぜそれが働いたのか理解しています。私の古いコードは他のバージョンのReachabilityを持つ別のプロジェクトから取得され、セレクタは 'HostName'であったが、新しいものは 'Hostname'であるため。

書き直す前に、Reachabilityがこの方法を持っているかどうかを確認していましたが、問題がわかりませんでした。私はこの小さな変更を1通の手紙に気付かなかったことが判明しました!