Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
482 views
in Technique[技术] by (71.8m points)

objective c - iOS 8 [UIApplication sharedApplication].scheduledLocalNotifications empty

i'm trying to update my app to iOS 8. In a function i schedule a local notification (i've already checked that firedate and all other parts of the notification are right) in this way:

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

then i use this code to print the scheduled local notification:

NSLog(@"notifications %@", [UIApplication sharedApplication].scheduledLocalNotifications );

but the array

[UIApplication sharedApplication].scheduledLocalNotifications 

is empty even if the notification is not fired. Then , to check if the local notification is really scheduled, i tried to use the code

NSLog(@"notification appdelegate %@", application.scheduledLocalNotifications );

in the function

- (void)applicationWillResignActive:(UIApplication *)application 

of Appdelegate.m in this case, the array of the scheduled local notifications is not empty and the NSLog function print the correct notification. This happens only on real devices, in the simulator my app works fine. And the problem is not to check the permission of the user to schedule local notifications, cause i've already faced it. Could someone help me? some ideas?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This is not iOS 8 issue, but

[UIApplication sharedApplication].scheduledLocalNotifications

issue. Most relevant answer which i found here

Having similar issues right now. My guess here is that iOS does not schedule the notifications immediately but only at the end of the current run loop. I am running into these problems when setting the scheduledLocalNotifications property several times in the same run loop and changes don't seem to be updated accordingly. I think I will just keep a copy of the local notifications array myself and only set scheduledLocalNotifications and never read it.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...