Ios 调用appdelegate方法的Objective-c队列

Ios 调用appdelegate方法的Objective-c队列,ios,objective-c,Ios,Objective C,在UIApplicationLegate中,我们有如下方法: - (void)applicationWillEnterForeground:(UIApplication *)application 及 几乎每次应用程序都会首先调用前台,但我检测到有时direceivelocalnotification会首先调用,但很少。我试图找到一些解释,但没有任何结果。在中,我没有找到这个信息 我在iOS 8 beta版和iOS 7.1版的不同设备中遇到了这种现象。也许有人知道为什么或者可能有文档上的链接,

UIApplicationLegate
中,我们有如下方法:

- (void)applicationWillEnterForeground:(UIApplication *)application

几乎每次
应用程序都会首先调用前台
,但我检测到有时
direceivelocalnotification
会首先调用,但很少。我试图找到一些解释,但没有任何结果。在中,我没有找到这个信息

我在iOS 8 beta版和iOS 7.1版的不同设备中遇到了这种现象。也许有人知道为什么或者可能有文档上的链接,其中描述了调用appdelegate方法的这种奇怪现象

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
每次您收到本地通知并打开应用程序时(在后台或前台),将调用

仅当应用程序即将成为前台应用程序时才会调用。这两种方法没有直接关系,因为如果您的应用程序已打开,并且在前台已调用
应用程序将进入前台
,并且每次收到新通知时都将调用
didReceiveLocalNotification
,如果应用程序已打开,但仅在后台调用
didReceiveLocalNotification
,除非用户在收到应用程序后打开它(因此
应用程序也将被调用)。如果应用程序根本没有打开,并且应用程序收到推送通知,则不会调用任何方法,但如果用户通过与通知交互来打开应用程序,则不会调用任何方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
将使用
launchOptions
字典中设置的
ui应用程序启动操作远程通知键调用


一般来说,您不应该期望一个方法在另一个之前被调用,因为这两个方法并不严格相关,也许您希望通过其他方式实现。如果是这样的话,你应该用你的目标来扩展你的答案,以便得到关于如何做的建议。

好的,
didReceiveLocalNotification
的文档说“这个方法是在应用程序:didFinishLaunchingWithOptions:method(如果实现了该方法)之后调用的。”没有其他内容。这会导致什么问题?@特洛伊木马程序处于首次启动状态,但当应用程序在前台后变为活动状态时,将调用方法“applicationWillEnterForeground”,而不是“didFinishLaunchingWithOptions”。我需要了解每个方法何时调用
- (void)applicationWillEnterForeground:(UIApplication *)application
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions