7

アプリが終了し、ユーザーが通知センターで通知をタップしてアプリを起動したときのアプリの動作をテストしたいと思います。- didFinishLaunchingWithOptionsキーを確認できますが、これUILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];をデバッグするにはどうすればよいですか?

Xcode でアプリの実行を開始すると、アプリを終了すると、Xcode への接続が失われます。

4

4 に答える 4

13

UILocalNotificationXcode スキームを手動で起動するように設定した場合 ([スキームの編集] > [実行] > [情報] )、.

その後、アプリケーションを再度実行すると、シミュレーター/デバイスから起動するまで起動しません。

次に、通知が発生するのを待ち、通知をクリックしてアプリを起動します (手動で!)。そうすれば、のUILocalNotificationからデバッグできますlaunchOptionsapplication:didFinishLaunchingWithOptions:

UILocalNotificationデバッグの場合、おそらく将来的に約 10 秒程度の日付をスケジュールする必要があることに注意してください。時間関連のものをデバッグするのは常に面倒です。

幸運を。

于 2014-01-23T10:59:55.687 に答える
0

アプリケーションをバックグラウンドで実行したままデバッグ モードxcodeに接続し、1 つのローカル通知を受信させてから、通知センターに移動してその通知をクリックすると、関数が呼び出されます。didReceiveLocalNotification:

アプリケーションが完全に閉じられたときに到着するローカル通知との唯一の違いは、didFinishLaunchingWithOptions にコードを記述する必要があり (didReceiveLocalNotification:関数に対して記述した同じコードをコピーして貼り付けることができます)、didReceiveLocalNotification:呼び出されないことです。

この情報がお役に立てば幸いです..

于 2013-01-15T10:49:16.123 に答える
0

アプリを起動するdidFinishLaunchingWithOptions:までメソッドは呼び出されません。ただし、アプリを閉じても、アプリがバックグラウンドになるため、アプリが xcode との接続を失うことはありません。

何か見逃しているかもしれませんが、実際にデバイスでアプリを実行してから、必要に応じて続行できます。

didFinishLaunchingWithOptions:また、ログがまだ機能しない場合は、このコードを試すことができます。

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"options" message:[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey] description] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    return YES;
于 2013-01-15T10:37:47.557 に答える
0

これはばかげた答えかもしれません。:)

私は通常そこにUIAlertViewを置きます。そして、ローカル通知に応じてアラートビューにテキストを設定します。

もう1つはアプリを終了することです。applicationDidFinishLaunchingにいくつかの NSLog を入れます。アプリを終了します。Xcode->Organiserに移動します。次に、[デバイス] タブでデバイスを選択します。オプションコンソールを選択します。そこにログが表示されます。

これが役立つことを願っています。

于 2013-01-15T12:18:33.147 に答える