5. 10 GB Asset storage
100 MB Database storage
2 GB Data transfer
40 Requests per second
Overage Fees
Asset storage $0.03/GB
Database storage $3.00/GB
Data transfer $0.10/GB
Requests per sec $100 per 10 requests
容量小さい
リソース?
8. データベース
公開データベース
let publicDatabase: CKDatabase = container.publicCloudDatabase
非公開データベース
let privateDatabase: CKDatabase = container.privateCloudDatabase
共有データベース
let sharedDatabase: CKDatabase = container.sharedCloudDatabase
9. アカウントの確認
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”)
}
})
10. 追加
/* レコード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)
}
})