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
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