我有一個應用程序,我正在與允許用戶設置和刪除UILocalNotifications。在開發過程中,我添加並刪除了用於測試的UILocalNotifications,它似乎正在工作。孤兒UILocalNotification - 已確認
但是我看到奇怪的行爲,從設備刪除我的應用程序並再次運行它沒有設置任何通知後,我會得到一個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);
}
感謝您的答覆如下。讓我想知道:這不是一個錯誤,因爲所有的應用程序數據應該刪除時,應用程序被刪除。 – 2013-03-14 19:38:21
從這個帖子:HTTP://stackoverflow.com/questions/4923028/uilocalnotification-fires-after-reinstalling-the-app 據蘋果公司稱,這是不是一個錯誤(我提交了錯誤報告)。該系統保留了24小時卸載的應用的UILocalNotifications以防萬一用戶意外刪除的應用程序,並恢復所述UILocalNotifications如果應用程序是規定時間內重新安裝。 – 2013-03-14 19:53:41
酷 - 感謝您的跟蹤! – 2013-03-14 20:48:31