CloudKit

OQ·2022년 2월 27일
0

iOS

목록 보기
1/8

CloudKit

iCloud에서 데이터를 가져오는 것 뿐이지 거의 Core Data와 사용법이 비슷하다.
데이터 모델은 CloudKit Console에서 손쉽게 만들면 된다.

클라우드킷에는 다음과 같이 3개의 zone이 있다.

  • Private database
    icloud 계정에 접속이 되어있고 해당 앱 이용자만 접근 가능
  • Shared database
    iCloud 계정에 접속이 되어 있고 여러 앱이랑 자원공유 가능
  • Public database
    iCloud 계정 접속 안되어있어도 자원 접근 가능. 단, read만 되고 write는 icloud에 접속되어 있어야 한다.

값 가져오기

let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: recordType, predicate: predicate)
CKContainer.default().publicCloudDatabase.perform(query, inZoneWith: nil) { records, error in

}

데이터 생성하기

let record = CKRecord(recordType: "RecordType")
record.setValue("Some data", forKey: "key")
CKContainer.default().publicCloudDatabase.save(record) { savedRecord, error in

}

데이터 업데이트하기

let recordId = CKRecordID(recordName: "RecordType")
CKContainer.default().publicCloudDatabase.fetch(withRecordID: recordId) { updatedRecord, error in  
    if error != nil {
        return
    }

    updatedRecord.setObject("Some data", forKey: "key")
    CKContainer.default().publicCloudDatabase.save(updatedRecord) { savedRecord, error in

    }
}

데이터 삭제하기

let recordId = CKRecordID(recordName: recordId)
CKContainer.default().publicCloudDatabase.delete(withRecordID: recordId) { deletedRecordId, error in

}
profile
덕업일치 iOS 개발자

0개의 댓글