2015-11-02 11 views
9

私はアプリストアに無料で有料のバージョンのアプリを持っています。 CloudKitを使用して公開データを共有するようにアプリを更新しています。無料のアプリと有料のアプリの両方で同じデータを共有したいと考えています。CloudKitでさまざまなアプリケーション間でデータを共有できますか?

まず、2つのアプリケーションがCloudKitと同じデータを共有することは可能ですか?

もしそうなら、私はこれをどのように機能させることができますか?私は両方のターゲットの機能でCloudKitを有効にして、両方のアプリケーションで同じコンテナを選択しようとしました。 「既定のコンテナを使用する」が選択されているメインアプリケーションはうまく動作しますが、「カスタムコンテナを指定」を選択して最初のターゲットからカスタムコンテナを選択した他のアプリケーションは、何かをダウンロードしようとするとエラーが返されます。

答えて

12

はい、複数のアプリで同じCloudKitデータを使用できます。 CKContainerを入手すると、両方のアプリケーションで以下のようなものを使用していると思いますか?

let container = CKContainer.defaultContainer() 

これは、メインアプリケーション(クラウドキット識別子と一致するバンドル識別子を持つもの)で動作します。他のアプリでは次のようにコンテナを初期化する必要があります:

let container = CKContainer(identifier: "iCloud.com.example.appname") 
+0

ありがとうございます。私は両方のターゲットで明示的に識別子を宣言することでこれを実現しています。 –

+0

ケイパビリティペインでアプリグループを有効にする必要がありますか? –

+0

いいえ、アプリグループはアプリ間でファイルを共有するために使用されます。各アプリケーションの機能ペインでiCloudコンテナを有効にする必要があります。 – lehn0058

関連する問題