12. データベース
公開データベース
let publicDatabase: CKDatabase = container.publicCloudDatabase
非公開データベース
let privateDatabase: CKDatabase = container.privateCloudDatabase
共有データベース
let sharedDatabase: CKDatabase = container.sharedCloudDatabase
13. アカウントの確認
CKContainer.default().accountStatus(completionHandler: {
accountStatus, error in
if error != nil {
print(error ?? "")
}
else if accountStatus == .noAccount {
let alert = UIAlertController.init(title: "Sign in to iCloud",
message:
"Sign in to your iCloud account to write records.On the Home screen, launch Settings, tap iCloud, and enter your
Apple ID.Turn iCloud Drive on.If you don't have an iCloud account, tap Create a new Apple ID.",
preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Okay", style: .cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
}
else {
print(“Insert your just-in-time schema code here”)
}
})
14. 追加
/* レコードIDを生成 */
let uuidString = UUID.init().uuidString
let diaryRecordID: CKRecordID = CKRecordID(recordName: uuidString)
/* レコード・オブジェクトを生成 */
let diaryRecord: CKRecord = CKRecord(recordType: "Diary", recordID: diaryRecordID)
/* レコードのフィールドを設定 */
diaryRecord["UUID"] = uuidString as CKRecordValue
diaryRecord.setObject("本文です。" as NSString, forKey: "EntryText")
diaryRecord.setObject(Date() as NSDate, forKey: "DiaryDate")
/* レコードを保存する */
database.save(diaryRecord, completionHandler: { (record, error) in
if error != nil {
print(error)
}
else {
print(record)
}
})