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

时间:2012-11-19 05:00:35

标签: ios uilocalnotification localnotification

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

 - (void)application:(UIApplication *)application didReceiveLocalNotification:
    (UILocalNotification *)notification

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

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

2 个答案:

答案 0 :(得分:5)

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

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

  UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

  if (localNotif) 
 {
  // code here.
 }

答案 1 :(得分:1)

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

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

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

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