使用しているアプリを使用して、ユーザーがUILocalNotificationsを設定および削除できるようにします。これを開発する過程で、テスト用にUILocalNotificationsを追加および削除しましたが、機能しているようです。
ただし、デバイスからアプリを削除し、通知を設定せずに再度実行した後、UILocalNotificationを取得するという奇妙な動作が見られます。この通知は、この新規インストールでは設定されませんでした(通知セットアップメソッドにブレークポイントを追加することで確認できます)。
以前のインストールで孤立したUILocalNotificationがある可能性はありますか(はい、私にもそうは思われません)。
通知を新しいインストールごとに固有のものに設定してこれをデバッグしようとしましalertBody
たが、この一意の文字列はアラートに表示されません。例えば:
notif.alertBody = [NSString stringWithFormat:@"Alert for: %@", alertName];
誰かが以前にこの種の行動を見たことがありますか?
更新:孤立したUILocalNotificationsを確認しました:デバイスからアプリを削除し、のrootViewControllerで以下のコードを実行しましたviewDidAppear
。コンソールに次の出力が表示されます。
2013-03-14 14:20:07.439 TestApp[16606:907] found alert: uigffhy 2013-03-14 14:20:07.444 TestApp[16606:907] found alert: uigffhy
このユーザーが以前のインストールから来た場所。うーん。
NSArray *notificationArray = [[UIApplication sharedApplication] scheduledLocalNotifications];
for (UILocalNotification *notif in notificationArray) {
NSDictionary * info = notif.userInfo;
NSString * name = [info objectForKey:@"sequenceName"];
NSLog(@"found alert: %@", name);
}