2016-09-28 21 views
0

在此字符串CloudKit中的「containerEnvironment」在哪裏? (沙盒與生產指標)

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

CKContainer.FromIdentifier("iCloud.com.My-Company").PrivateCloudDatabase 

結果的ToString()方法我不能在任何兒童或父對象定位 「ContainerEnviornment」。

ContainerEnviornment位於何處?

我想在SandBox中有一些自定義邏輯行爲,另一種是在Production中。

+0

什麼自定義的邏輯你要表現不同的開發與生產CloudKit環境?一般來說,這不是建議,可能有另一種方法來實現你的目標。 – breakingobstacles

+0

@breakingobstacles如果Apple假定這些GUID與GameKit Guids一樣敏感,那麼根據AppStore指南這是非法的,我想公開一個暴露CloudKit數據的ViewController,否則可能會拒絕該應用商店。 – LamonteCristo

回答

0

CloudKit容器環境在運行時使用您的應用程序的com.apple.developer.icloud-container-environment權利確定。

沒有簡單的內置方法可以在任何CloudKit對象上進行查詢。

如果你想瀏覽你的CloudKit數據,你可以使用CloudKit Dashboard

如果您想要在調試版本中顯示一些額外的/不同的數據,您可以檢測您的應用程序是否爲調試版或發行版,並調試您的調試專用顯示器。

對於斯威夫特:

  • 打開目標的構建設置>斯威夫特編譯器 - 自定義標記
  • 將「-DDEBUG」添加到「其他Swift Flags」下的調試部分。

然後,圍繞你的調試只用代碼:

#if DEBUG 
    // debug only code 
#endif