我开发了一个支持iCloud的iPhone应用程序,但我面临的问题是,即使用户为我的应用程序关闭iCloud备份,它也会在iCloud上备份并反射(reflect)我其他设备上的变化,所以我想知道我怎样才能知道我的应用程序是否启用了iCloud。它专门针对应用而非设备,如果设备启用了iCloud但我的应用已关闭,那么它不应进行任何备份。 最佳答案 如果您使用的是键值而不是文档存储,我建议您改用它。idiCloudToken=[[NSFileManagerdefaultManager]ubiquityIdentityToken];if
目前我只有一台iOS设备,到目前为止还没有出现问题。但我现在想为我的应用程序(使用核心数据)添加iCloud同步支持。在我获得第二台设备之前,是否根本无法进行测试?或者是否可以将iOS模拟器与我的设备结合使用或伪造iCloud数据以测试iCloud同步?编辑:不需要太多研究就可以发现iCloud,尤其是CoreData,绝对需要大量测试,这当然意味着要使用不止一台设备进行测试! 最佳答案 在Xcode5中:OSSimulatornowsupportsiCloudsyncingofdocumentsandKVSdatawithinan
在我的应用程序中,我想通过iCloud与其他iCloud用户共享数据,但不是与全世界共享数据,而是与选定的其他iCloud用户共享数据。我想过一种可行的方法,但我不确定它是否可行,以及我是否忘记或误解了一些事情。假设用户A希望能够与其他iCloud用户共享一个字符串,但不想与所有人共享。因此,用户A想将“HelloWorld”分享给用户B,但不想分享给用户C,也不想分享给用户D。所以我的应用程序有一个公共(public)数据库和一个对每个人都相同的记录类型。在该记录类型中,有一个字符串类型的字段,对每个人来说也是相同的。现在用户A将记录“HelloWorld”保存到iCloud。诀窍来
我在应用商店中有一个iOS应用,可以下载需要保留在设备上以供离线使用的相对较大的文件。这些文件目前存储在应用程序的Documents文件夹中,但我刚刚读到Documents文件夹已备份,实际上应该只用于用户生成的内容。ThisAppletechnicalQ&A指出应设置NSURLIsExcludedFromBackupKey以防止备份。This声明应用程序的/Library/Caches是放置此类文件的正确位置,但进一步阅读表明当设备存储空间不足时可能会清除该文件夹,这对于该应用程序来说是NotAcceptable。我相信/Library/ApplicationSupport/是他们的
我做了一些研究,但我所能找到的只是将核心数据与iCloud同步。我需要知道是否可以/建议在iCloud中备份核心数据。我有一个使用数据核心来存储信息的应用程序。每当用户决定重新格式化他的手机时,我都想实现某种备份……换一部新手机……等等。iCloud是正确的选择吗?我们已经实现了向CSV的导出,并且我们计划实现从CSV的导入。我只是想知道iCloud是否是一种每天备份一次核心数据的解决方案,让我们说……或者类似的事情。谢谢! 最佳答案 这就是iCloud的用途。您可以实现它,然后当用户移动到新设备时,所有数据都在那里。不过,这并不是
我的应用程序使用iCloud(键值存储)在多个设备之间同步唯一ID。在应用程序首次启动时,如果它真的必须工作,那么这个工作就可以接受。看起来设备在首次启动时还不熟悉iCloud的值,只有在安装应用程序并运行一段时间后才熟悉。我在应用程序主视图的viewDidLoad函数中检查iCloud值。所以,我的问题:这是预期的行为吗?如果是,是否有其他解决方案?会不会这只是从Xcode运行时出现的问题,而不是发布版本?如果可以,如何测试?谢谢!碧Jade 最佳答案 我有一个类似的问题,无论我等了多久,NSUbiquitousKeyValueS
在我的应用中,我希望能够同步由用户创建的配置。我想使用iCloud来同步该配置,以便它在所有设备上始终相同。但是,我使用钥匙串(keychain)来存储密码。有没有办法同步钥匙串(keychain)数据? 最佳答案 iCloud钥匙串(keychain)是iOS7.0.3和OSXMavericks10.9中的一项新功能。使用SecItemAPI添加钥匙串(keychain)项时指定kSecAttrSynchronizable属性。 关于objective-c-iCloud同步钥匙串(ke
我在iCloud中使用UIDocument。我没有使用CoreData。删除UIDocument的最佳方法是什么? 最佳答案 复制自"DeletingaDocument"节Document-BasedAppProgrammingGuideforiOS.dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^(void){NSFileCoordinator*fileCoordinator=[[NSFileCoordinatoralloc]
我使用iCloud只是为了简单的键值存储。我已经在Xcode中配置了Entitlement。在沙盒模式下测试表明值已成功持久化。但是,当我在iOSDeveloperPanel上查看我的ProvisioningProfile的AppId设置时,我看到AppId的iCloud状态为“Configurable”。它要求我创建一个iCloud容器。我的问题是:1)DeveloperPanel上这样一个iCloud容器的用途是什么?2)是否需要在DeveloperPanel上配置这样的iCloud容器才能在生产环境中使用iCloud?3)如果问题2是,开发者面板上的iCloud容器标识符必须与X
将iCloud支持添加到iOS应用程序时,可以配置iCloud显示集并通过指定NSUbiquitousDisplaySet将其与应用程序链接。但是iCloud即使没有它也能正常工作,所以我的问题是:iCloud显示集的目的到底是什么?在文档中的任何地方都找不到任何明确的答案。而且,根据Apple文档,如果您使用iCloud,似乎必须为您的应用程序指定显示集。这确实让我有些困惑。这样一来,人们可能希望为多个应用程序或iOS和Mac应用程序版本共享同一个显示集? 最佳答案 没错,就是允许多个应用访问同一个移动数据存储。来自Informa