0

私は、iOS の UILocalNotifications を使用して、アクションを完了する必要があることをユーザーに警告するアプリケーションに取り組んでいます。通知を作成して、適切に起動させることができます。ただし、アプリに戻ると問題が発生します。初めて通知が発生した後、「アプリケーション:didRecieveLocalNotification」が毎回実行され、最初の通知データが使用されます。キュー内のすべての通知をログアウトできます。キューが空であっても、通知ブロックが実行されます。他の誰かがこの問題に遭遇したか、それを修正する方法を知っていますか? 以下の didRecieveLocalNotification コードを含めました。

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    if (notification) {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
        [(UITabBarController *)self.window.rootViewController setSelectedIndex:1];
        UINavigationController *nav = [[(UITabBarController *)self.window.rootViewController viewControllers] objectAtIndex:1];
        IMTUpdateRewardViewController *rvc = [storyboard instantiateViewControllerWithIdentifier:@"updateReward"];
        [rvc loadPushNotification:notification];
        [nav pushViewController:rvc animated:NO];
    }
}
4

1 に答える 1

1

私は同様の問題に遭遇しました。最終的に、犯人は私の側のバグでした。これは、イベントへのリマインダーの生成に関連していました。バックグラウンドから戻ったときに、すでに開始されているイベントがあった場合は、ローカル通知が生成され、すぐに起動されました。要するに、このような問題に遭遇した場合は、UILocalNotification 生成メソッドに小さなデバッグ プリントアウトを配置します。

于 2013-10-15T08:20:57.747 に答える