CloudKit 中的 "containerEnvironment" 在哪里? (沙盒与生产指标)

Where is "containerEnvironment" in CloudKit? (Sandbox vs Production indicator)

的 ToString() 方法
  CKContainer.FromIdentifier("iCloud.com.My-Company").PrivateCloudDatabase

此字符串中的结果

<CKDatabase: 0x7ca335b0; databaseScope=Public, 
container=<CKContainer: 0x7fd630c0; 
containerID=<CKContainerID: 0x7ca33910; 
containerIdentifier=iCloud.com.getvalid.CloudKitAtlas, 
containerEnvironment="Sandbox">>>

我无法在任何子对象或父对象中找到 "ContainerEnviornment"。

ContainerEnviornment 位于何处?

我想让一些自定义逻辑在 SandBox 中以一种方式运行,在生产环境中以另一种方式运行。

CloudKit 容器环境是在 运行 时使用您应用的 com.apple.developer.icloud-container-environment 权利确定的。

没有简单的内置方法可以在任何 CloudKit 对象上进行查询。

如果您想浏览 CloudKit 数据,可以使用 CloudKit Dashboard

如果您想在调试版本中显示一些 additional/different 数据,您可以检测您的应用是调试版本还是发布版本,并以此为条件调整您的仅调试显示。

对于Swift:

  • 打开 Target 的 Build Settings > Swift Compiler - Custom Flags.
  • 将“-DDEBUG”添加到“Other Swift Flags”下的调试部分。

然后,将您的 Debug-only 代码括起来:

#if DEBUG
    // debug only code
#endif