【发布时间】:2016-03-05 09:32:05
【问题描述】:
我想与不使用我的应用程序的人共享公共数据库中的 CloudKit 资产。在 CKAsset 类中,只有一个 fileURL 属性,它指向一个本地文件,所以没有给出 URL。
然而,在 CloudKit Web Services 的文档中,there is a "referencing existing assets" request,其中in its' response 为资产文件提供了downloadURL。
从我的应用程序调用它会给我一个 421 状态代码,将 in documentation 描述为“AUTHENTICATION_REQUIRED”,因为它需要提供 ckSession 参数,这是一个“经过身份验证的用户的会话标识符”。它还传递了redirectURL,用户可以在其中输入他们的 iCloud 登录信息,然后被重定向回 Web 应用程序,现在带有会话标识符。
在应用内打开此 URL 不会立即返回会话标识符,而是希望用户在收到他们的会话 ID 之前在浏览器中完成登录过程。
这似乎完全偏离了轨道,而且是错误的做法。我当然不会让我的用户通过网络界面登录 iCloud。该 CloudKit Web 服务 url 唯一缺少的是会话 ID。有没有办法让我使用 CloudKit 框架来获得它?或者有没有其他方法可以让我找到这个文件的 URL?
【问题讨论】:
标签: ios swift icloud cloudkit cloudkit-web-services