我正在开发一个在- (void)applicationWillEnterForeground:(UIApplication *)application
中执行“A”任务的应用。
该应用程序还注册了远程通知。在- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
中,应用需要执行任务“B”。
当应用程序为后台并收到通知时,任务执行顺序为“A”,后跟“B”。
如果收到通知并且应用程序处于后台,我需要做的就是执行“B”任务。
如何实现这一目标?
由于
答案 0 :(得分:0)
你发布这个问题已经有一个月了,所以我不确定你是否还需要一个答案,但我通过将所有共享的“入口逻辑”(我喜欢称之为)推送到{{1并简单地将入口方法存储为appdelegate对象中的状态。所以如果我从后台进入应用程序,那么我设置一个标志。如果我通过通知进入,我会存储通知消息(因此我可以智能地处理通知入口逻辑)。如果我通过网址进来,那么我会存储该网址。在applicationDidBecomeActive:
我想看看我从哪个方向进来。以下是我所关注的州:
在一个地方拥有所有必要的信息,我可以智能地决定是否要执行通知入口逻辑,或者简单输入前台入口逻辑。
顺便说一句,这个流程图非常宝贵! http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/