1

私が正しい道を進んでいることを確認したいだけです。

目覚まし時計としてローカル通知を作成しています。ユーザーがボタンを押すと... DO STUFFにしたい。

私は自分のメソッドを呼び出さなければならないと思っています

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions .. .アプリケーションが閉じられたとき

  • (void)applicationWillEnterForeground:(UIApplication *)application ...アプリケーションがバックグラウンドにあるとき...ユーザーがOKを押したとき

私が達成しようとしていることを行うためのより良い方法はありますか...ユーザーが通知でOKを押したときにDO STUFFを実行しますか?

前もって感謝します

4

2 に答える 2

1

ローカル通知とプッシュ通知のドキュメントによるとapplication:didFinishLaunchingWithOptions:、どちらの場合も呼び出す必要があります。

ローカルおよびリモート通知の処理

オペレーティング システムがアプリケーションのローカル通知またはリモート通知を配信する場合に考えられるシナリオを確認してみましょう。

アプリケーションがフォアグラウンドで実行されていないときに、通知が配信されます。この場合、システムは通知を提示し、アラートを表示し、アイコンにバッジを付け、おそらくサウンドを再生します。提示された通知の結果として、ユーザーはアラートのアクション ボタンをタップするか、アプリケーション アイコンをタップ (またはクリック) します。

アクション ボタンが (iOS を実行しているデバイスで) タップされると、システムはアプリケーションを起動し、アプリケーションはデリゲートの application:didFinishLaunchingWithOptions: メソッドを呼び出します (実装されている場合)。通知ペイロード (リモート通知の場合) またはローカル通知オブジェクト (ローカル通知の場合) で渡します。iOS を実行しているデバイスでアプリケーション アイコンがタップされた場合、アプリケーションは同じメソッドを呼び出しますが、通知に関する情報は提供しません。

于 2013-02-11T00:58:53.827 に答える
1

彼らは強制的に電話することはできません。モニタリングのみ。

UIApplicationDelegate プロトコル

これらのメソッドは、アプリケーションの起動が終了したとき、終了しようとしているとき、メモリが少なくなったとき、重要な変更が発生したときなど、アプリケーションの実行における主要なイベントに関する情報を提供します。これらのメソッドを実装すると、これらのシステム イベントに応答して適切に応答する機会が得られます。

必要に応じて、ViewController で Notification メソッドを取得します。これを試して

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidFinishLaunching:) UIApplicationDidFinishLaunchingNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];

- (void)applicationDidFinishLaunching:(NSNotification *)noti
{
    //do stuff
}

- (void)applicationEnterForeground:(NSNotification *)noti
{
    //do sutff
}
于 2013-02-11T01:00:33.250 に答える