【发布时间】:2021-03-18 01:20:08
【问题描述】:
我正在为 tvOS 创建一个 .pdf 阅读器。我想将 .pdf 文件存储在 iCloud Drive 文件夹中并以只读方式访问它们。毫不奇怪,我在让 iCloud 工作时遇到了困难:FileManager.default.url(forUbiquityContainerIdentifier: nil) 总是返回 nil。
我假设我需要将条目添加到 info.plist(为什么 Xcode 不这样做?)我包括以下内容。密钥与我的捆绑包 ID 匹配,前缀为“iCloud”。
<dict>
<key>iCloud.com.spiffcleanser.books</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>books</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
我有很多问题,但都是相关的,所以我希望一次提出所有问题是可以接受的。此时我只是想获取容器 URL。
- 我正在使用默认的普遍存在的容器。我创建了一个 iCloud 授权并检查了 CloudKit。我是否需要从列表中指定一个容器,或者如果我不指定一个容器,是否会隐式使用默认容器?
- 我在开发者叹息中的标识符表明我拥有 iCloud 权利。容器分配与我在 Xcode 中指定的匹配。如果我使用的是默认容器,该列表应该为空,还是应该以与 .plist 文件中相同的方式使用我的应用的捆绑 ID 配置一个容器?
- 我知道在修改授权后我需要重新构建配置文件,切换“自动管理签名”是否足够,或者我是否需要明确创建配置文件?
- 每次更改配置时都需要增加版本号吗?我认为增加内部版本号就足够了。
感谢您的帮助。
【问题讨论】: