如何使用相同的CloudKit数据库构建两个不同的应用程序?

时间:2017-05-05 17:50:39

标签: ios swift cloudkit

我需要做的是在我的开发者帐户下构建两个不同的应用程序。给用户一个查看数据库中的数据,并保留一个方便我更改此数据库。我正在使用CloudKit,默认容器和公共数据库。

所以我现在尝试的是我有一个用户应用程序让我们说app name是“showdata”。在那个应用程序中,我使用默认容器和公共数据库,如下所示:

let publicDatabase = CKContainer.default().publicCloudDatabase

然后我用它来执行查询:

query = CKQuery(recordType: "updateAndHold", predicate: NSPredicate(format: "TRUEPREDICATE"))
publicDatabase.perform(query!, inZoneWith: nil) { (records, error) in

在第二个应用程序中,我们将其命名为“updatedata”。 我应该怎么做才能使用相同的数据库和容器来更新数据。我试过这段代码:

let container = CKContainer.init(identifier: "iCloud.com.WMWIOS.showdata").publicCloudDatabase

但是当我获取任何记录时,它会给我一个错误,即没有该名称的权利:

query = CKQuery(recordType: "updateAndHold", predicate: NSPredicate(format: "TRUEPREDICATE"))
container.perform(query!, inZoneWith: nil) { (records, error) in

当我print(publicDatabase)print(container)时,它具有不同的ID但标识符相同。

我需要帮助解决这个问题。如果您需要更多信息,请告诉我。

0 个答案:

没有答案