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