在应用程序处于后台时获取本地通知

而应用程序在后台didReceiveLocalNotification不被调用。

所以我尝试从didFinishLaunchingWithOptions获得通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions { UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; //... } 

但我的应用程序是与背景模式启用(使用外部配件通信)当点击通知,didFinishLaunchingWithOptions不被调用。

任何其他方式来检索通知?

通过检查苹果关于通知的文件 ,它说:

iOS注意:在iOS中,您可以通过检查应用程序状态来确定是否由于用户点击操作button而导致启动应用程序,或者是否将通知传递到已经运行的应用程序。 在委托的应用程序的实现:didReceiveRemoteNotification:或application:didReceiveLocalNotification:方法中,获取applicationState属性的值并对其进行评估。 如果值是UIApplicationStateInactive,用户点击操作button; 如果值是UIApplicationStateActive,那么应用程序在收到通知时是最前面的。

据我所知,当您的应用程序处于后台运行状态,并且出现本地通知时,您将不会收到任何方法调用,通知将显示给用户,但是如果用户点击通知,应用程序,您将收到-didReceiveLocalNotification:调用。