私のクラスが初期化されると、さまざまなWi-Fi通知のためのオブザーバーとして自分自身を追加します。なんらかの理由で、セレクタが実行されていない状態です。何か案は?早めにありがとうございます。 UPDATENSNotificationのトラブル
-(id) init
{
if (self)
{
sself = self;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWModeDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWSSIDDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWBSSIDDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWCountryCodeDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWLinkDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:CWPowerDidChangeNotification object:nil];
:私は私のプロジェクトにCoreWLANフレームワークが含まれている
-(void) handleNotification:(NSNotification*) notification
{
NSLog(@"Notification Received");
}
:ここ は、handleNotificationメソッドである
私はCoreWLANWirelessManager.appをダウンロードしたが、これはあります私が参考にしているもの奇妙なことに、Appleのコードは廃止予定の通知を使用していますが、それでも機能します。私は新しいAPIと非難されたAPIを使ってみましたが、成功しませんでした。ここにコードを掲載できるかどうかはわかりませんが、文字通り違いはありません。セレクタの名前も同じです。
お気軽にお問い合わせください。
UPDATE(ダスティンの回答):問題を特定するために新しいプロジェクトを作成しました。あなたが説明したのと同じように私の.hと.mファイルを設定しました。残念ながら、私はまだ通知を受けていません。私が横たわっていない(または狂っていない)ことを示すために、同じランタイム中に撮影された2つのスクリーンショット(かなり混雑している)を含めました。 (1.私はhandleNotification:メソッドにブレークポイントを持っています。アプリケーションは一度もポーズしません。 。何もネットワーク1
をNSLogedされていない:
ネットワーク2:
UPDATE 2012年5月17日:ダスティンの答えは正しかったが、無線LANインタフェース名はどのようなハードウェアによって異なりますアプリが実行されているつづいている。私の場合(MacBook Air、イーサネットなし)、私のWi-Fiはen1ではなくen0です。私は、私のお母さんのiMacからシステム構成plstファイルを取得し、Wi-Fiはen1と呼ばれています。イーサネットはen0です。皆さんのお手伝いをありがとうございます。
です? MacOS 10.5,10.6または10.7? –
OS X 10.7 –
を使用していて、プロジェクトのフレームワークのリストにCoreWLAN.frameworkを含めていますか? –