可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I’m now using didReceiveRemoteNotification
to get the payload of the notification pushed from Parse, however, it is only triggered when the notification is tapped and opened.
What I’m trying to do is start an alarm to remind the user that a notification has arrived, so I guess didReceiveRemoteNotification
is not what I’m looking for. Which method should I look into for this purpose?
Thank you!
回答1:
Words from The WWDC 2014 Whats New in iOS Notifications
Local and push notifications let background or inactive apps notify users that an event of interest has occurred, or that an app has new information for them.
The WWDC 2013 Whats New With Multitasking tells us how to get this work.
UIBackgroundModes : remote-notification
in info.plist
Thats all.... !!!
Now you can set your alarm as you want. you may set a scheduled local notification until user interact with app
回答2:
You can do nothing with the push notification unless the user taps on the notification banner OR the app is in foreground. In background, you do not have control. Reference Apple Push Notification setting up Remote Notifications method overrides other methods
回答3:
You must look for this method in app delegate:-
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Now check whether your app has received any push notification/'s or not
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (notification) { NSLog(@"app received a notification %@",notification); [self application:application didReceiveRemoteNotification:(NSDictionary*)notification]; }else{ NSLog(@"app did not receive a notification"); }