我一直在尝试使用CloudKit,到目前为止它工作正常。但是,我一直很难让基于区域的订阅工作。有没有人参与其中?这里是我尝试的代码:
// MARK: - Subscriptions
func registerSubscriptionByZone(){
let container = CKContainer(identifier: "iCloud.com.MyDataInCloudKit")
let database = container.publicCloudDatabase
let recordZone = CKRecordZone.defaultRecordZone()
let zoneSubscription = CKSubscription(zoneID: recordZone.zoneID, options:CKSubscriptionOptions.allZeros)
zoneSubscription.notificationInfo = CKNotificationInfo()
zoneSubscription.notificationInfo.alertBody = "Change in Zone"
self.database.saveSubscription(zoneSubscription) {
subscription, error in
if error != nil {
println(error.localizedDescription)
} else {
println("subscription saved!")
}
}
}
我收到错误:将ID为EB6C9478-0A38-4C01-A473-6C09A57B2E8B的记录订阅保存到服务器时出错:未指定有效区域
答案 0 :(得分:0)
来自CloudKit设计指南: https://developer.apple.com/library/ios/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html
区域是排列一组离散记录的有用方法 仅在私人数据库中受支持。区域无法在公共场所创建 数据库中。