草庐IT

ios - iCloud 使用 UIDocument 保存数据崩溃

我正在尝试使用iCloud来存储我的应用程序的用户设置,这是我的保存和加载代码:,它通常运行良好但有时会崩溃并显示如下消息:尝试打开或还原已经打开的文档或在飞行中恢复操作或发送到dealloc实例所以我在openWithCompletionHandler之前添加fileState日志它总是显示state=UIDocumentStateClosed无论是否会崩溃,我在applicationDidEnterBackground时保存数据并在applicationDidBecomeActive时加载.保存:-(void)storeToiCloud{NSURL*baseURL=[[NSFile

ios - 从 iCloud 下载文件时显示进度百分比?

我想在从iCloud下载UIDocument时显示进度条。我尝试在查询中保持对NSMetadataItem的引用,每秒询问它的属性,但键NSMetadataUbiquitousItemPercentDownloadedKey要么不存在,要么突然变为下载文档后100。相关代码://getmetadataitemfromqueryNSNumber*downloadProgress=[self.documentMetadataItemvalueForAttribute:NSMetadataUbiquitousItemPercentDownloadedKey];NSLog(@"download

ios - 带有导入 UTI 的文件在 UIDocumentPickerViewController 中显示为灰色

在我的iOS应用程序中,我打开一个UIDocumentPickerViewController以导入.sty文件(MIDI样式)。为此,我在导入的UTI和文档类型中声明了自定义UTI。问题是,在我客户的iPadAir2上,这些文件在对话框中显示为灰色,因此他无法导入它们。在我的iPadAir2上,它们没有变灰,我可以成功导入它们。当使用iCloudDrive和Dropbox作为文件提供者时,我们都可以看到这一点。我们的设备有什么不同?我的客户通过TestFlight安装该应用程序作为内部测试人员。此外,导入UTI中的文件扩展名区分大小写吗?我不这么认为。然后我在想要不要加个文档类型图标

ios - 处理应用程序 : openURL: sourceApplication: to open files in iOS app

我有一个应用程序使用一些已知的大文件格式,并且从iOS4开始就支持iOS的“打开方式...”功能。直到最近,某些应用程序(如iOS内置邮件应用程序)运行良好,可以通过在我的应用程序内的~/Documents/Inbox目录中制作副本来打开应用程序,一切都很好。我最近意识到“打开方式...”不再适用于我的应用程序,至少当文件通过iOS11+内置文件应用程序来自iCloud/Dropbox/GoogleDrive时,我想知道我是否遗漏了什么。检查代码后,我开始认为我一定遗漏了一些非常明显的东西,因为代码似乎是正确的不打开文件,因为给定的路径无效或我的应用程序没有必要的权限来阅读它们。这是我

ios - ubiquityIdentityToken 在设备上一致

我想确保我正确理解了ubiquityIdentityToken。在每台设备上为每个iCloud帐户获取的ubiquityIdentityToken在该设备上将是一致且唯一的,但跨设备可能不一致。这是真的吗?参见here对于ubiquityIdentityToken上的AppleDocs。 最佳答案 我在模拟器和设备之间做了一些非常基本的测试,我发现ubiquityIdentityToken每个设备/iCloud帐户都是唯一的。我使用不同的iCloud帐户登录iCloud,每次返​​回的token都与之前为相同的设备/iCloud帐户

objective-c - 有时不调用 NSUbiquitousKeyValueStoreDidChangeExternallyNotification

我为iCloudkey-valueStore编写了代码[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(keyValueStoreChanged:)name:NSUbiquitousKeyValueStoreDidChangeExternallyNotificationobject:nil];LOG(@"sync");[[NSUbiquitousKeyValueStoredefaultStore]synchronize];当我删除应用程序并重新安装它时,通常会调用观察者方法,但有时不会调用。为什

objective-c - UIDocument openWithCompletionHandler 成功返回 NO

我有这个代码:[metaDocopenWithCompletionHandler:^(BOOLsuccess){if(!success){NSLog(@"UHOH");}}];为什么这会返回NO?对我来说它返回NO即使在我的-(BOOL)loadFromContents:(id)contentsofType:(NSString*)typeNameerror:(NSError**)outError方法,我总是返回YES。谢谢 最佳答案 有很多原因。覆盖handleError:userInteractionPermitted:并记录详细

ios - UIDocument 从不调用 dealloc

我有一个问题,我似乎无法解除分配UIDocument(在iCloud中使用)运行NSMetaDataQuery以如下方式查找文档后..NSMetadataQuery*query=[[NSMetadataQueryalloc]init];_query=query;[querysetSearchScopes:[NSArrayarrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];NSPredicate*pred=[NSPredicatepredicateWithFormat:@"%K==%@",NSMetadataItemFSNa

ios - 如何在 NSDocumentsDirectory 中隐藏文件夹并禁止通过 iTunes 和 iCloud 进行备份

我在NSDocumentDirectory中创建了私有(private)文件夹,我想将其隐藏在iTunes中并不允许备份。在这个问题HowtohidefolderscreatedinDocumentDirectoryinios?人们建议保存在私有(private)目录中。但根据apple文档是不行的https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.h

ios - 跨设备检测 iCloud 中文档删除的正确方法?

我找不到明显的方法来检测我正在监视的文档是否被删除(我缓存了我的应用程序关心的文档列表)。在设备1上:当我删除文档时,我调用[fileCoordinatorcoordinateWritingItemAtURL:fileURLoptions:NSFileCoordinatorWritingForDeletingerror:&errbyAccessor:^(NSURL*writingURL){[fileManagerremoveItemAtURL:writingURLerror:nil];这在Device1上运行良好,一切都保持同步。在设备2上:我试图依赖NSMetadataQuery通知