如果应用程序处于被杀死状态,请阅读通知数据

时间:2017-05-18 08:27:10

标签: ios objective-c iphone

如果应用程序处于被杀死状态,我想阅读通知。阅读...我想从通知正文中获取用户ID字段,并允许该特定用户访问我的位置。并同时更新fireBase数据库中的位置。只有当app处于暂停或被杀状态时,请建议一些解决方案来处理这种情况。它应该只在收到的通知上完成。

提前致谢。

1 个答案:

答案 0 :(得分:0)

启用后台模式。 enter image description here

performFetchWithCompletionHandler中实施AppDelegate委托方法。

        - (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
            [self sendHitsInBackground];
               completionHandler(UIBackgroundFetchResultNewData);

}

    - (void)sendHitsInBackground {

        __block UIBackgroundTaskIdentifier backgroundTaskId =
        [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
            //Do task
        }];

        if (backgroundTaskId == UIBackgroundTaskInvalid) {
            return;
        }

                   [[UIApplication sharedApplication] endBackgroundTask:backgroundTaskId]; 
}

注意: - 对此方法的每次调用都必须通过匹配对endBackgroundTask:方法的调用来平衡。