我正在尝试将我的应用程序更新到iOS 8.在一个功能中,我通过这种方式安排本地通知(我已经检查过该通知并且通知的所有其他部分都是正确的):
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
Run Code Online (Sandbox Code Playgroud)
然后我使用此代码打印计划的本地通知:
NSLog(@"notifications %@", [UIApplication sharedApplication].scheduledLocalNotifications );
Run Code Online (Sandbox Code Playgroud)
但阵列
[UIApplication sharedApplication].scheduledLocalNotifications
Run Code Online (Sandbox Code Playgroud)
即使未触发通知,它也是空的.然后,为了检查本地通知是否真的被安排,我试图使用该代码
NSLog(@"notification appdelegate %@", application.scheduledLocalNotifications );
Run Code Online (Sandbox Code Playgroud)
在功能中
- (void)applicationWillResignActive:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)
的Appdelegate.m在这种情况下,安排本地通知的数组不为空和NSLog的功能打印正确的通知.这只发生在真实设备上,在模拟器中我的应用程序工作正常.问题不是检查用户安排本地通知的权限,因为我已经面对它了.有人能帮助我吗?一些想法?
我已经尝试了3do应用程序,它似乎能够安排非重复通知并删除通知中心的特定通知.它的工作原理如下:当应用程序处于后台时,它们会在通知中心发送,如果您选择其中一个通知,则会打开并且您可以选择点击"完成",如果您点击"完成",则会删除特定通知来自通知中心.如果您没有点击任何内容,通知将留在通知中心.
这是我自己在自己的一个应用程序中遇到的问题,我无法理解如何从通知中心删除单个通知.如果通知没有重复间隔,则scheduledLocalNotificationsUIApplication数组将为空,因此我无法取消该特定通知并将其从通知中心中删除.但是,如果通知具有重复间隔,则scheduledLocalNotifications数组将不为空,我可以删除此通知.但是,如果通知不重复,我该如何处理这种情况呢?