从本地通知启动已关闭的iOS应用程序

Max*_*ier 6 ios localnotification uilocalnotification

当我的iOS应用程序在后台运行时,它可以很好地响应

 - (void)application:(UIApplication *)application didReceiveLocalNotification:
    (UILocalNotification *)notification
Run Code Online (Sandbox Code Playgroud)

但是当应用程序关闭时,它会崩溃并发出SIGKILL错误.

如果在收到通知时关闭了应用程序,如何在应用程序中运行该方法?

Rah*_*tel 6

当你的应用程序关闭时,当你收到通知而不是点击通知- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法被调用.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

  UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

  if (localNotif) 
 {
  // code here.
 }
Run Code Online (Sandbox Code Playgroud)


Dan*_*ang 1

收到本地通知时,您无法在应用程序中运行方法。通知可以提供警报、图标徽章编号和声音的任意组合(<30 秒)。

当某个方法再次进入前台时,您可以通过通知或其他方式运行该方法。

当应用程序处于后台时,它将applicationWillEnterForeground:在恢复之前调用。您可以重写此方法来处理通知后所需的任何内容。您可以覆盖applicationDidEnterBackground:以确定您的应用程序实际进入后台的时间。

application:didReceiveLocalNotification:当应用程序收到通知但处于前台时调用该方法。当应用程序位于前台时,不会触发警报、图标徽章编号和声音。