將iCloud添加到正在運行的iOS應用程序,數據存儲在公共數據庫中。我必須在模擬器中登錄到iCloud,但這樣做,應用程序在模擬器中運行良好。在iPad上,程序在以下語句中崩潰:應用程序在模擬器中運行,在iPad上失敗「丟失所需的權利... icloud-services」
CKContainer * dbContainer = [CKContainer defaultContainer];
該應用程序被終止,「由於未捕獲的異常‘CKException’,理由是:‘缺少所需的應用授權com.apple.developer.icloud服務’
當我打開Xcode中的iCloud功能, XCode在com.apple.developer.icloud-services的.entitlements文件中創建一個條目,其中包含一個項目:一個值爲「CloudKit」的字符串。
在我的iPad上,我登錄到iCloud與模擬器上的方式相同
我已經多次詳細地通過Apple的權利故障排除指南我已經搜索了每一個我知道如何的方法,但我無法弄清楚爲什麼會失敗。我確實發現和閱讀建議作爲重複的帖子,並沒有任何解決方案建議爲我工作。
張貼了這個問題之後,我經過授權的故障排除指南去一個有更多的時間,發現在內置應用中的以下權利部分:
<dict>
<key>keychain-access-groups</key>
<array>
<string>PTXZTRRTHH.*</string>
</array>
<key>get-task-allow</key>
<true/>
<key>application-identifier</key>
<string>PTXZTRRTHH.com.quipzl.Quipzl</string>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>PTXZTRRTHH.*</string>
<key>com.apple.developer.icloud-services</key>
<string>*</string>
<key>com.apple.developer.icloud-container-environment</key>
<array>
<string>Development</string>
<string>Production</string>
</array>
<key>com.apple.developer.icloud-container-identifiers</key>
<array>
<string>iCloud.com.quipzl.Quipzl</string>
</array>
<key>com.apple.developer.icloud-container-development-container-identifiers</key>
<array>
<string>iCloud.com.quipzl.Quipzl</string>
</array>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>iCloud.com.quipzl.Quipzl</string>
</array>
<key>com.apple.developer.team-identifier</key>
<string>PTXZTRRTHH</string>
<key>aps-environment</key>
<string>development</string>
</dict>
和應用程序不運行在我的iPad - 直到執行到達上面的代碼,當它拋出一個異常。爲什麼?
可能重複[該應用程序缺少必需的權利com.apple.developer.icloud-services'](http://stackoverflow.com/questions/32728300/the-application-is-missing-required-entitlement-com -apple-developer-icloud -servi) – jose920405
不是重複的 - 我的應用程序還沒有在應用商店中出現,並且它每次都在iOS 9中失敗,而不僅僅是第一次。切換iCloud的開關並不能解決問題。 –