困ったこと
プロジェクト作成時にSwiftData
とHost in CloufKit
を選択して開発を始めました。
いざCloudKit
を設定してリリースしようと
Containersを新規作成して追加しましたが、アプリがクラッシュ(ModelContext
の初期化に失敗)するようになりました。
Thread 1: Fatal error: ModelContext initialization failed: SwiftDataError(_error: SwiftData.SwiftDataError._Error.loadIssueModelContainer)
環境
Xcode 15.1
解決方法
エラーをしっかり見るとわかりました。
Unresolved error loading container Error Domain=NSCocoaErrorDomain Code=134060 "A Core Data error occurred." UserInfo={NSLocalizedFailureReason=CloudKit integration requires that all attributes be optional, or have a default value set.
CloudKitの統合では、すべての属性をオプションにするか、デフォルト値を設定する必要があります。
とのことです。
@Model
final class Student {
var nameKanji: String = ""
var nameKana: String = ""
var memo: String = ""
var isSchoolYear: Bool = false
var birthDay: Date = Date()
var category: CategoryColor = CategoryColor.gray
...
}
@Model
としたclassのすべての値にデフォルト値を設定したらCloudKit
を使ってのビルドもできました🎉
参考