1

我在应用商店中有一个现有的应用,我正在添加 iCloud。我已经按照 Apple 的指南以及其他指南进行操作,一切正常。但是我注意到,如果我在设备上安装了我的应用程序的 2.0 版(最后一个生产版本),然后我将 3.0 版(带有 iCloud 的那个)从 Xcode 部署到设备,当我运行应用程序时,我得到:

NSUbiquitousKeyValueStore error: com.yourcompany.YourApp has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement

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

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

我已经在运行 iOS 5.0.1 的多台设备上尝试过,它们都做同样的事情。

4

1 回答 1

6

这不是权利程序的问题。查看以下技术说明:Technote 2285

引用:

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

为了加快开发周期,Xcode 只会将更改的文件推送到它运行的应用程序中,而不是从现有的应用程序包中删除文件。这使得构建速度显着加快。但这意味着在旧版本之上运行 Xcode 可能会生成错误地包含应用程序从 App Store 下载时不会拥有的过时文件的版本。这可能会导致测试期间出现问题并掩盖错误。

于 2011-12-13T19:40:46.430 回答