您需要启用 CloudKit 才能访问 iCloud 照片吗?

Do you need to enable CloudKit to access iCloud Photos?

我是完整的 Xcode 新手,我想知道我是否需要启用 CloudKit 才能访问 iCloud 照片,或者 PhotoKit 是否可以处理所有事情? 另外我猜想在处理 iCloud 照片时拥有一个单独的开发者帐户可能是个好主意,Apple 允许单独的帐户吗?

PhotoKit 在幕后使用 CloudKit,因此它使用自己的数据容器(等),您无需创建自己的数据容器。

如果您登录的 iCloud 帐户启用了 iCloud 照片图库,PHAsset(及相关)提取方法将始终return 所有项目 "in your library",无论是否这些项目的 photo/video 数据当前存储在您的设备上。当您想要显示或编辑资产时,使用 PHImageManager API 来查明数据是否在 iCloud 中并响应下载。

据我所知,照片内容没有 "sandbox"。如果你想测试你的应用程序而不让它访问你的 "real" iCloud 照片库,请使用单独的(免费)iCloud 帐户。 (但是请注意,您不必担心库中出现错误的应用程序开发版本 运行 amok — PhotoKit 中的破坏性操作(如删除资产)总是会弹出警告以供用户确认。)