[swift] iCloud 파일 저장 및 동기화

언제나 중요한 파일을 안전하게 보관하는 것은 매우 중요합니다. Apple의 iCloud를 사용하면 파일을 안전하게 저장하고 여러 기기 간에 동기화 할 수 있습니다.

iCloud 파일 저장하기

우선, iCloud에 파일을 저장하려면 코드 작성 전에 iOS 앱의 capability을 설정해야 합니다. Xcode에서 프로젝트를 열고, Signing & Capabilities 탭으로 이동하여 iCloud capability를 추가하십시오. iCloud를 사용할 권한이 필요한 경우, 인증도 함께 설정해야 합니다.

다음은 Swift 코드를 사용하여 iCloud에 파일을 저장하는 예제입니다.

let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("example.txt")
let data = "Hello, iCloud!".data(using: .utf8)
do {
    try data?.write(to: fileURL)
} catch {
    print("Error writing file: \(error)")
}

위의 코드에서는 FileManager를 사용하여 파일을 앱의 Documents 디렉터리에 저장하고 있습니다.

iCloud 파일 동기화하기

파일을 저장한 후, iCloud를 통해 여러 기기 사이에서 파일을 동기화할 수 있습니다. 파일이 변경되었는지 여부를 확인하고 이벤트를 받기 위해 NSMetadataQuery 클래스를 사용할 수 있습니다.

let metadataQuery = NSMetadataQuery()
metadataQuery.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
metadataQuery.predicate = NSPredicate(format: "%K LIKE %@", NSMetadataItemFSNameKey, "example.txt")

NotificationCenter.default.addObserver(forName: NSNotification.Name.NSMetadataQueryDidUpdate, object: metadataQuery, queue: nil) { (notification) in
    // 파일이 업데이트되었을 때 수행할 작업
}

metadataQuery.start()

위의 코드는 NSMetadataQuery를 사용하여 iCloud에 저장된 파일을 모니터링하는 방법을 보여주고 있습니다.

이제, 당신의 앱은 iCloud를 통해 파일을 안전하게 저장하고 여러 기기 간에 동기화할 수 있습니다. iCloud를 사용하여 사용자 데이터를 보다 안전하게 보관하고 동기화하는 방법에 대해 더 알아보세요.

참고 자료: