所以,我正在开发两个想要使用同一个 iCloud 容器的应用。
我已按照 Xcode 和 Apple 的在线文档中显示的所有步骤进行操作。我在我的应用程序中添加了激活的 iCloud 功能,选中了 CloudKit 复选框,选择了一个我想要使用的自定义容器(显然这两个应用程序都相同)。
应用程序已更改权利文件中的 iCloud 容器标识符,这应该表明一切正常。但是,每当我使用该应用程序并打印我的容器名称时,它都会显示每个应用程序的默认容器名称。
对于这两个应用程序,功能屏幕如下所示:
我创建了一个对象 CloudKitController 来管理所有云流量。我在应用程序启动时对其进行初始化,并设置如下变量:
var container: CKContainer
var publicDB: CKDatabase
let privateDB: CKDatabase
var delegate: CloudKitControllerDelegate?
override init() {
container = CKContainer.default()
print(container.containerIdentifier)
//this prints the name of the default container for the project
publicDB = container.publicCloudDatabase
privateDB = container.privateCloudDatabase
}
我什至访问了开发者门户并确保我要使用的容器是两个应用程序关联的唯一容器。也没用。
我的问题是:我怎样才能让两个应用(显然来自同一个开发者帐户和配置文件)在一个 iCloud 容器上运行?
Best Answer-推荐答案 strong>
您说您希望使用具有特定标识符的特定容器。但是您拥有的代码专门访问应用程序的默认容器。那不是你想要的。
变化:
container = CKContainer.default()
到:
container = CKContainer(identifier: "your shared container id")
有关更多详细信息,请阅读 CKContainer 类的文档。
关于iOS 应用程序不会使用自定义 iCloud 容器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/44100106/
|