我正在处理核心数据和静默通知。我在核心数据中没有任何线程安全的实现。当我收到静默通知时,我需要获取几个项目并将其保存到数据库中。
所以我的问题是 didReceiveRemoteNotification:fetchCompletionHandler 总是在主线程上工作吗?(即使应用程序在后台)。
我做了实验,当应用程序在后台时,我发送了静默通知,在线程 1(UIThread)中触发了 didReceiveRemoteNotification。
但我仍然想确保并防止与线程问题相关的崩溃。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0)
{
}