当前位置 : 主页 > 手机开发 > ios >

ios – 带有核心数据和文件同步的iCloud

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在开发一个将核心数据与iCloud一起使用的应用程序(iOS7给出了很大的改进).此应用程序存储数据以使用此信息描述任务: 命名一个NSString 约会NSDate 图像描述图片路径的NSString 顺便说
我正在开发一个将核心数据与iCloud一起使用的应用程序(iOS7给出了很大的改进).此应用程序存储数据以使用此信息描述任务:

>命名一个NSString
>约会NSDate
>图像描述图片路径的NSString

顺便说一句,图片可以存储在文档或图书馆目录中(我必须决定哪个是更方便的文件夹)在具有唯一名称的同一文件夹中.

现在我想为图像激活iCloud同步,否则用户的体验将不完整(我只是同步数据库数据..没有图像,应用程序的奇怪/错误行为).

我对Apple文档感到困惑.我无法找到一种方法来准确理解iCloud数据如何满足这种需求.我只想在创建文件夹时立即同步它们的每个文件.所以我的问题是:

>您是否可以分享一些很好的资源来学习如何使用iCloud进行文件同步
>我是否要使用UIDocument和其他iCloud API?还是有“自动”的东西.相当新的再见/愚蠢的问题,我知道:(
>在同一个应用程序中使用基于Core Data和Document的iCloud synch是否有任何问题?

注意:我知道我可以通过在文档文件夹中添加文件来同步数据,并希望用户激活文档同步…但这显然不是我想要的.

在同一个应用程序中同时使用Core Data事务日志同步和基于文件的同步来实现您想要实现的目标非常简单.

因此,您需要设置Core Data堆栈以使用iCloud选项并通过iCloud同步数据更改.同时,您可以将图像存储在Apps iCloud容器中,以便它们同步.请记住,您需要对Core Data fileURL中的图像使用相对引用,因为完整路径名将根据运行应用程序的设备而有所不同.因此,例如,您只需将图像文件名存储在Core Data中,并使用标准目录(如“iCloudContainer / Documents / Images /”)来存储它们. ‘iCloudContainer’是您通过调用[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:] API获得的URL.

我上传了使用iCloud进行事务日志同步(即同步Core Data中的数据)的示例Core Data应用程序,以及使用文件同步在iCloud中存储Core Data备份文件,然后可以由任何设备访问.您应该能够使用相同的代码将iRoud的备份文件移动到iCloud或从iCloud移动备份文件.请记住,您必须先触发从iCloud下载文件,然后才能通过协调读取或使用NSFileManager初始化下载来使用它们.

http://ossh.com.au/design-and-technology/software-development/sample-library-style-ios-core-data-app-with-icloud-integration/

http://ossh.com.au/design-and-technology/software-development/sample-library-style-ios-core-data-app-with-icloud-integration/sample-apps-explanations/

下载并运行示例应用程序,并使用内置的备份文件管理器制作备份文件,并使用不同的设备将它们复制到iCloud和从iCloud复制.然后在存储图像文件时使用相同的代码.

您的应用程序必须处理用户更改iCloud帐户,登录或退出iCloud等内容,并相应地移动核心数据文件和图像文件.

网友评论