1

App Store に既存のアプリがあり、iCloud を追加しています。私はAppleのガイドと他のガイドに従いましたが、すべて正常に機能しています。ただし、アプリのバージョン 2.0 (最後の製品バージョン) をデバイスにインストールしてから、Xcode からバージョン 3.0 (iCloud のバージョン) をデバイスに展開すると、アプリを実行すると次のようになることに気付きました。

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を使用して実行すると、AppStoreからダウンロードしたときにアプリにない古いファイルが誤って含まれるビルドが生成される可能性があることを意味します。これにより、テスト中に問題が発生したり、バグがマスクされたりする可能性があります。

于 2011-12-13T19:40:46.430 に答える