gpt4 book ai didi

ios - 尝试在手机上启动 iCloud 应用程序时出现黑屏

转载 作者:行者123 更新时间:2023-11-28 22:32:57 24 4
gpt4 key购买 nike

我现在可以根据我是否在模拟器中来触发 iCloud 加载或不加载。当我尝试在真实设备上运行时,出现黑屏并且“addPersistentStore”行似乎挂起。 “我的项目名称”是授权文件的名称,也是应用程序的名称。

这是怎么回事?

#if (TARGET_IPHONE_SIMULATOR)
if (![psc addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:dbUrl
options:nil
error:&error]) {
[NSException raise:@"Open failed" format:@"Reason: %@", [error localizedDescription]];
}
#else
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *ubContainer = [fm URLForUbiquityContainerIdentifier:nil];
NSMutableDictionary *options = [NSMutableDictionary dictionary];
[options setObject:@"My Project Name" forKey:NSPersistentStoreUbiquitousContentNameKey];
[options setObject:ubContainer forKey:NSPersistentStoreUbiquitousContentURLKey];

if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:dbUrl options:options error:&error]) {
[NSException raise:@"Open failed" format:@"%@", [error localizedDescription]];
}
#endif

最佳答案

Apple 建议当您使用 iCloud 时,您应该在单独的线程上执行所有这些步骤。 URLForUbiquityContainerIdentifieraddPersistentStoreWithType:configuration:options:error: 都将连接到网络,并且可能会长时间阻塞。第二次调用——添加持久存储——可能会阻塞更长时间。在 iOS 上,iCloud 数据仅按需下载,而这种需求在您添加持久存储时发生。你得到一个空白屏幕,因为 NSPersistentStoreCoordinator 正忙于与网络对话(或试图这样做)。 Apple 的示例代码将其放在单独的队列中,您也应该这样做。

关于ios - 尝试在手机上启动 iCloud 应用程序时出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com