[SD] SwiftData를 iCloud와 동기화
Source: Dev.to
Capability 활성화
SwiftData를 CloudKit과 동기화하기 위한 첫 번째 단계는 iCloud Capability를 활성화하는 것입니다.
Xcode에서 프로젝트 타겟의 General 설정 근처에 있는 + Capability 옵션을 찾으세요.
iCloud 설정
- Signing 탭에 서비스가 활성화된 것이 표시됩니다.
- 필요한 서비스로 CloudKit을 선택합니다.
CloudKit 컨테이너 추가
- + 버튼을 클릭하여 새 CloudKit 컨테이너를 추가하거나 기존 컨테이너를 선택합니다.
- 컨테이너는 Apple 서버에 존재하므로 고유 식별자를 사용해야 합니다(예: bundle identifier를 참고용으로 사용할 수 있습니다).
- 식별자를 만든 후 새로 고침 버튼을 누릅니다.
Background Modes
CloudKit은 백그라운드에서 발생할 수 있는 데이터베이스 변경 사항을 알리기 위해 원격 알림(Remote Notifications)을 사용합니다.
Background Modes Capability를 활성화하고 Remote Notifications 체크박스를 선택하세요.
구현 제한 사항
- CloudKit과 동기화되는 속성에
@Attribute(.unique)를 사용할 수 없습니다. - 모든 속성은 기본값을 가지고 있거나 옵션으로 표시되어야 합니다.
- 모든 관계도 옵션으로 표시되어야 합니다.
CloudKit 관리
CloudKit의 데이터베이스를 원격으로 관리하려면 CloudKit dashboard에 접속하세요.
대시보드에서는 production 및 development 환경에 대한 관리 패널을 확인할 수 있습니다.
참고 사항
이 모든 작업은 Apple Developer Program 계정이 있어야만 작동합니다.
참고 문헌
Gauchat, J. D. (2024). SwiftUI for Masterminds: How to take advantage of Swift and SwiftUI to create insanely great apps for iPhones, iPads, and Macs (5ª ed.). John D. Gauchat.