Ios 应用程序缺少com.apple.developer.icloud services';

Ios 应用程序缺少com.apple.developer.icloud services';,ios,icloud,ios9,cloudkit,Ios,Icloud,Ios9,Cloudkit,我在我的应用程序中使用了一个公共的iCloud数据库,它工作得很好,并且已经在商店里了 在将我的应用程序更新到新版本(iOS9上使用Xcode 7)时,我遇到了一个崩溃: CKContainer * container = [CKContainer containerWithIdentifier:@"iCloud.com.identifier"]; *** Terminating app due to uncaught exception 'CKException', reason: 'The

我在我的应用程序中使用了一个公共的iCloud数据库,它工作得很好,并且已经在商店里了

在将我的应用程序更新到新版本(iOS9上使用Xcode 7)时,我遇到了一个崩溃:

CKContainer * container = [CKContainer containerWithIdentifier:@"iCloud.com.identifier"];

*** Terminating app due to uncaught exception 'CKException', reason: 'The application is missing required entitlement com.apple.developer.icloud-services'
这种情况仅在更新后首次启动应用程序时发生,并且仅在iOS9上发生。在第一次(更新)发布后,应用程序启动,iCloud按预期工作

我可以通过下载应用程序的当前商店版本,然后从Xcode 7运行更新后的应用程序,一致地重新创建崩溃

如果我使用iOS8执行相同的步骤(下载生产应用程序和更新),我不会发生相同的崩溃

我猜这是一个iOS9或Xcode 7错误。有什么想法吗

编辑:
这实际上发生在iOS9上第一次启动应用程序时,不管我是在更新还是刚开始安装

打开和关闭iCloud功能似乎已经解决了这个问题

切换iCloud对我不起作用。重新安装该应用程序也不起作用。每当启用断点时,问题似乎就会发生。如果我关闭这些功能,它将毫无问题地运行。

更改了我的应用程序的名称,因此权限文件应该有所不同。关闭并重新打开重新创建所需的文件。关闭断点使其过滤(奇怪)。

对我来说,我为测试目标指定了代码签名权限。因此,该应用程序将构建良好。但是不管发生什么,单元测试都会退出。从测试目标的生成设置中清除“代码签名权限”字段修复了该问题。之后许多的小时。

对我来说,关闭/打开iCloud功能是解决问题的方法,因为在这之后,在授权文件中创建了一个新密钥:“APS环境”及其值“生产”或“部署”。

切换到新版本的Xcode后,我出现了此错误。其他修复方案都不起作用。仔细查看后,我发现代码签名身份已更改!当我把它放回原处时,一切正常。

Xcode 11.1

确保您已为调试发布模式启用它:

哦,顺便说一句:我只在64位设备上遇到了这个问题,但谁知道这是否真的有关系呢?我没有任何断点,但仍然不起作用。(
iphone5s,ios9.2
)我也没有突破点。仍然无法使用macOS 10.13.5应用程序:(这也可能是生产构建的越狱问题。您可以将调用包含在@try catch block中以避免崩溃,然后进行适当处理。我遇到了相同的问题。没有一个答案对我有效。我只在Fabric/Crashlytics/Firebase上看到这些崩溃,而不在Xcode organizer中看到。很多崩溃都来自越狱设备。)是的,但不是全部。