Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2024年06月17日

SwiftData & iCloud 同期設定時エラーの解決



SwiftDataに登録したデータをiCloud経由で複数デバイスに同期ができない場合、Xcodeのコンソールログを確認する。

error: CoreData+CloudKit
と表示されている部分を確認し、
Failed to set up CloudKit integration for store
CKError 0x302238450: "Server Rejected Request"
"Partial Failure" (2/1011);
"Failed to modify some record zones"
CKError 0x302238450: "Server Rejected Request"
Failed to recover from error: CKErrorDomain:15
などと表示されている場合、CloudKit.frameworkを追加する。

追加する箇所
1. Xcode -> TARGETS -> "Frameworks, Libraries, and Embedded Content" セクション


巷のSwiftData & iCloud 同期に関する記事には、コードやCapabilities、IDs、Provisioning Profileの設定については記述があるものの、CloudKit.framework の追加に関しては記述が見当たらないため、意外な盲点となっている。
iCloudを使用するのだから、CloudKit.frameworkをインポートするのは当然だと言える。


なお、Swiftコードの中でSwiftDataのスキーマを定義した場合でも、テスト完了後はCloudKit Consoleで開発環境(Delelopment)から本番環境(Production)への移行をすることを忘れないようにすること。
移行操作をやらないと、審査完了後App StoreでリリースしてもiCloud同期が行われない現象が発生する事態となる。


参考記事:
https://forums.developer.apple.com/forums/thread/717838
posted by mobileDeveloper at 23:23 | Comment(0) | TrackBack(0) | iCloud はてなブックマーク - SwiftData & iCloud 同期設定時エラーの解決 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。