Table of Contents
iCloud Document や CloudKit によるデータの管理を行うためには、その保存領域となるコンテナ(iCloud Container)を設定する必要があります。
今回は、iCloud Document を使うアプリを設定することを想定して、実際に iCloud Container を設定する流れを紹介します。
Xcodeで iCloud Document を有効化
プロジェクトの Capabilities で iCloud の設定を開き、iCloud Document にチェックを入れます。
この時、Add iCloud Containers to your App ID というエラーが出る場合は、iCloud Container が作成されていないということです。
試しに「iCloud Dashboard」と書かれたボタンをクリックして、コンテナのダッシュボードにアクセスしてみると、以下のようにコンテナがないという警告が表示されます。
このような警告が出る場合、Apple Developer の Certificates, Identifiers & Profiles にアクセスして、iCloud Container を新しく作る必要があります。
iCloud Container を作成
Apple Developer Program にログインして Certificates, Identifiers & Profiles を開きます。
ログイン後、画面左メニューの iCloud Containers をクリックします。
Register iCloud Containers の下にある Continue をクリックしてください。ここからコンテナを新しく作ることができます。
Description にはコンテナの説明(後で変更できます)を、Identifier には、コンテナに固有の名前(変更できません)をつけます。
通常、Identifier は「iCloud」から始まり、リバースドメインの名前をつけることが勧められていますが、自分で識別できるのであれば自由につけて構いません。
入力を終えたら画面下の Continue を押してください。
確認画面が表示されます。誤りがなければ Register を押してください。以上で iCloud Container の作成は完了です。
App ID にコンテナを登録する
iCloud Container は、App ID ごとに使用するものを登録する必要があります。
画面左のメニューから App IDs を選択し、コンテナを使うアプリに使用する App ID を選択します。
選択後の画面で Edit を押します。
Edit を押すと、編集可能な機能の一覧が表示されますので、その中から iCloud を探してください。
Edit を押します。
登録可能な iCloud Container の一覧が表示されますので、チェックを入れて Continue を押します。
設定の変更を確認する画面が表示されます。問題なければ Assign をクリックしてください。
以上で、App ID に iCloud Container が紐づけられました。ここで注意が必要なのは、既にこの App ID を使って作られた Provisioning Profile があった場合、それが無効になってしまうことです。
したがって、登録したコンテナを利用するアプリにつかう Provisioning Profile は、再度作成しなければいけません。
Provisioning Profile の作成方法は以下の記事をご覧ください。
iOSアプリを実機で動かすために必要な Provisioning Profile を作成する
Xcode で Provisioning Profile と iCloud を設定
上記の手順で更新した App ID から Provisioning Profile を作成したら、Xcode に戻り、それをプロジェクトで設定します。
プロジェクトの Capabilities で再度 iCloud の設定を開き Specify custom containers にチェックを入れます。すると、先ほど作成したコンテナの Identifier が表示されますので、チェックを入れます。
すべてのエラーが消えたら、コンテナの準備は全て完了です。
実際に iCloud Documents の機能を使って iCloud Container 内にファイルを保存する方法に関しては以下の記事をご覧ください。