IT工房くまや

通称くまが運営するIT工房サイト

CloudKit Console レコードタイプが削除できない

CloudKitを試そうと色々触っているうちにレコードタイプが消せなくなりました。出てくるダイアログを見ると、

“invalid attempt to delete a record type which is active in a production”

とメッセージが出て消せません。どうやら、

「本番コンテナでアクティブなレコード タイプを削除しようとする試みは無効です。」

といった意味なようです。本番コンテナー?いつした?どこでした?疑問の嵐が巻き起こりです。それから、https://developer.apple.com/documentation/cloudkitを調べてみました。次のようなことがわかりました。私の悪い癖で、説明書とかを読みながらさわればよさそうなものを、適当に触ってつまずいてから、なんでだろうと調べ出すのは悪い癖なんですが、治りません。でも、安心してください。壊れて困るようなものを触る時は必ず説明書等を読みます。

さて、どうしたら本番環境になるのかですが、Apple Developer Programに登録されていることを前提にして進めます。

まず、CloudKit DatabaseへはAccount – Apple Developerからも入れます。

Xcodeからも入れますが、その説明は割愛します。

Account – Apple Developerのサイトの下記

赤四角マークのCloudKitをクリック

赤四角マークのCloudKit Databaseをクリックして、データベースの管理画面に入れます。

CloudKit Databaseを開くと、左下に下の表示があります。(赤四角や青四角はありません。)

赤四角のDeploy Schema Changes を実行すると下のような表示が出ます。Schemaの変更をするとここに表示され、右下のDeployボタンをクリックすると、変更したSchemaがDevelopment(開発環境)からProduction(本番環境)へ保存されます。

そして、

ただし、レコードタイプは開発環境から本番環境に保存されますが、レコードは開発環境から本番環境に保存されません。

また、青四角のReset Environmentを実行すると、すべての開発環境のレコードタイプおよびレコードは削除されます。本番環境のレコードタイプおよびレコードは削除されません。本番環境で編集する必要があるようです。本番環境にアプリを移行していなければ、この操作は必要なさそうです。

開発環境と本番環境の切り替えですが、コンテナ名の右に下の表示があります。そこで開発環境と本番環境を替えらえます。

上の表示をクリックすると、下の表示が出ますので、そこで環境を選べます。