6

当我的 iOS 应用程序在后台运行时,它响应良好

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

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

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

4

2 回答 2

6

当您的应用程序关闭时,当您收到通知时,会调用通知- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法的点击。

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

  UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

  if (localNotif) 
 {
  // code here.
 }
于 2012-11-19T05:07:39.463 回答
1

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

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

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

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

于 2012-11-19T05:46:28.700 回答