CloudKit - 通过URL在用户之间共享文件

时间:2015-01-14 01:52:49

标签: ios objective-c icloud cloudkit

使用CloudKit在用户之间共享文件的最简单方法是什么?

此框架(https://github.com/iRareMedia/iCloudDocumentSync)在CloudKit之前发布,并支持一种简单的共享方式:您可以获得一个可以发送给其他用户的URL,并且可以直接下载您与他共享的内容。

新的CloudKit可以使用这样的(甚至更好的)吗?

2 个答案:

答案 0 :(得分:3)

您可以通过创建包含CKAsset的CKRecord来解决此问题,CKAsset是您要共享的文件。您需要该CKRecord的唯一标识符。你可以使用recordId。然后为您的应用设置深层链接。这似乎是一个很好的工具:https://github.com/usebutton/ios-deeplink-sdk 然后只需创建一个包含该唯一标识符的deplink。当您使用这样的链接打开应用程序时,您可以下载CKRecord,您将把文件放在CKAsset中。

答案 1 :(得分:1)

从根本上看,这似乎不太可能,因为CloudKit不是文档API。与您链接的项目共享文档依赖于[NSFileManager URLForPublishingUbiquitousItemAtURL:expirationDate:error:]。该方法适用于保存到当前iCloud帐户的文档。

由于CloudKit更像是数据库API,因此很难说URL甚至可以代表什么。一个记录?也许,如果你定义一些格式来下载其数据存储之外的单个记录。对于CKAsset来说可能更有意义,但是现在Apple还没有添加这个功能。

与iCloud不同,CloudKit 可以选择让使用该应用的任何人都可以使用公共数据。根据您尝试完成的任务,这可能是您需要的替代方案。否则,你现在看起来好像没有从CloudKit分享。