所以,这是我的生活故事,我似乎无法弄清楚出了什么问题!!!
我有一个已经在商店中的应用程序,它有一个奇怪的问题,它会给出不同的结果。
我的主视图中有两个开关都控制重复间隔的本地通知。
现在我已经设置了正确的开关并准备好了。 (我猜)。 但是,当安排重复间隔时,必须在用户决定不接收通知时再次取消它们。所以,我的开关编码如下:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL switchOn = [userDefaults boolForKey:@"switchO"];
if (switchOn) {
[self Firstnotif];
[self Secondnotif];
[self Thirdnotif];
[self Lastnotif];
}
else { [[UIApplication sharedApplication] cancelAllLocalNotifications]; }
BOOL switchOn2 = [userDefaults boolForKey:@"switchO2"];
if (switchOn2) {
[self Firstnotif];
}
else { [[UIApplication sharedApplication] cancelAllLocalNotifications]; }
}
注意我在两个开关中都使用了Firstnotif
方法两次。
我的问题是:
我曾经只有一个开关,当他们打开第一个开关接收这四个通知时,不适用于所有用户。所以我告诉他们关掉它,按主页按钮,再次打开应用程序再打开它和主页按钮。有用!!!!为什么呢?
现在,由于我添加了另一个开关,因此出现了新的混合结果。 第二个开关只用它的重复间隔发出第一个通知。有人说它有效,有些人说没有。其他人说,当我转向另一个时它会做而不做。他们面临的是什么?
我的问题,
我是否以正确的方式取消重复间隔?
我的应用可能出现什么问题?如果需要,我会为您提供更多代码。
我感谢您的投入,因为我花了几周的时间没有运气。
答案 0 :(得分:1)
我解决了!
我替换了applicationDidBecomeActive
方法下的取消请求,并删除了我的else