仅在升级应用程序时出现NSUbiquitousKeyValueStore错误.干净安装的应用程序工作正常.iCloud的

jam*_*one 1 iphone objective-c ipad ios icloud

我在应用程序商店中有一个现有的应用程序,我正在添加iCloud.我跟随Apple的指南和其他人一起工作正常.但是我注意到,如果我的设备上安装了2.0版本的应用程序(最后一个生产版本),然后我将版本3.0(带有iCloud的版本)从Xcode部署到设备,当我运行应用程序时,我得到:

NSUbiquitousKeyValueStore error: com.yourcompany.YourApp has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement
Run Code Online (Sandbox Code Playgroud)

但是,如果我从设备中删除原始应用程序然后从Xcode部署3.0我没有收到错误,并且iCloud工作正常.

我应该怎么做才能让用户在升级之前不必删除应用程序?

我在运行iOS 5.0.1的多个设备上试过这个,它们都做同样的事情.

Emm*_* Ay 6

这不是权利过程的问题.看看以下技术说明:Technote 2285

引用:

不要使用Xcode安装或运行应用程序的更新以进行质量保证测试.

为了使开发周期更快,Xcode只将更改的文件推送到它运行的应用程序,并且不会从现有的app-bundle中删除文件.这使构建速度明显加快.但这意味着在旧版本的基础上运行Xcode可能会产生错误地过时的应用程序从App Store下载时应用程序不具备的文件.这可能会在测试期间导致问题并掩盖错误.