是否可以在不创建新容器但使用现有容器的情况下将应用程序与 CloudKit 一起使用?

Is it possible to use app with CloudKit without creating new container but use an existing?

当我打开 CloudKit 功能时,它会自动创建一个容器。有时这很令人沮丧,因为我想使用另一个而不是默认值。知道怎么做吗?


让我感到不安的是,现在我的仪表板中已经有很多容器,而且很难在它们之间导航/滚动。所以我不想创建更多未使用的。但首先当我打开功能时,它会自动创建默认容器,即使在下一轮我 select 另一个。

默认容器名称基于您的包标识符。您可以指定您想要一个不同的容器。查看目标的 CloudKit 设置。只需单击 'specify custom container'

  1. 正如 Edwin 所建议的,您需要在 Xcode 的“功能”窗格中指定您的应用程序应有权访问的容器。您需要 select "Specify custom containers" 并选择合适的:

  2. 您需要使用它们的标识符在您的代码中访问这些容器,如下所示:

let container1 = CKContainer(identifier: "iCloud.com.MyCompany.Container1")

let container2 = CKContainer(identifier: "iCloud.com.MyCompany.Container2")

因此您必须在设置特定容器之前更改包 ID。设置 bundle ID 以便根据名称选择默认容器,因此如果它已经存在,则 Xcode 不会创建新容器。然后打开 CloudKit,然后改回 bundle ID。仅此而已。