iCloud同期のサポートを追加するために、(既存の)アプリでしばらく作業しました。合計で、アプリの 3 つのバージョンがあります。
a) 通常の iPhone 版
b) lite (無料) iPhone 版
c) iPad 版
iCloud を使用して、コア データ ストレージを 3 つのバージョン/デバイス間で同期させたいと考えています。私は実装を手に入れました。私のデバイスに置いた開発バージョンはうまく機能しました。
昨日、iPhoneバージョンを提出することにしましたが、却下されました:
無効なコード署名資格 - アプリ バンドルの署名に、サポートされていない資格値が含まれています。com.apple.developer.ubiquity-container-identifiers エンタイトルメントの場合、配列の最初の値は、プロビジョニング プロファイルで Apple によって提供されたプレフィックスとそれに続くバンドル識別子サフィックスで構成される必要があります。バンドル ID は、iCloud コンテナー ID としての使用が許可されているいずれかのアプリまたは別のアプリのバンドル ID と一致する必要があります。
具体的には、[my app] のキー「com.apple.developer.ubiquity-container-identifiers」の値「[teamid].com.[myself].[somename]」はサポートされていません。
これらの識別子がどのように見えるべきかについては、まったくわかりません。このページ: https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW1他のアプリのコンテナー ... 3 つのバージョンのアプリに 3 つのコンテナーを追加する必要がありますか? これまでのところ、project/targets/summary/entitlements の下で構成しました:
[x] iCloud キー値ストア: com.[自分].[somename]
iCloud コンテナー: com.[自分].[somename]
3 つのバージョンすべて (同じ識別子)。3 つのバージョンすべてが iCloud を介してコア データ ストレージ データベースを同期するには、正確に何を設定する必要がありますか?