首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudKit -在包文件中使用CKAsset

CloudKit -在包文件中使用CKAsset
EN

Stack Overflow用户
提问于 2016-05-04 21:14:35
回答 2查看 484关注 0票数 2

我正在尝试使用CloudKit将应用程序中的文件存储到CKAssets中。一切都很好,使用CKRecord + CKAsset上传和下载都很好,除了一些文件类型,包括数字、主题和页面文档。当我试图将这些保存到CloudKit时,我会得到以下错误:

代码语言:javascript
复制
CKOperationBase error = <CKError 0x12ddeece0: "Partial Failure" (2/1011); "Failed to modify some records"; partial errors: {
  FileAttachments.169DBAC2-8A14-43F0-9F5A-F851E7FF623B:(CJCloudKitPrivateZoneName:__defaultOwner__) = <CKError 0x12f05dcc0: "Invalid Arguments" (12/1017); "Not a regular file">

我猜这和文件是“包文件”有关.也就是说,在它们下面隐藏着一个子目录,当您使用“”时,您可以看到它。

在这种情况下,我应该如何将文件上传到CloudKit?是否有任何API来检测这些是“包文件”,并将它们压缩成可以导出的格式?如果我不能在一个设备上上传一个主题文件,并通过我自己的应用程序在另一个设备上访问它(作为基调文档),那将是非常令人失望的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-05 04:06:03

在这里找到了解决方案:https://stackoverflow.com/a/36874037/145552

基本上,使用NSFileCoordinatorNSFileCoordinatorReadingForUploading选项是关键.如果需要的话,这会压缩文件,您可以将newURL从块传递到CKAsset中,这样它就能正常工作。在找到这个解决方案之前,我一直在使用NSFileCoordinatorReadingWithoutChanges

票数 0
EN

Stack Overflow用户

发布于 2016-05-05 02:52:11

这里没有神奇的解决方案,你必须自己拉链和解压包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37038151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档