我有一个正在使用的应用程序允许用户设置和删除 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);
}