【发布时间】:2015-02-03 03:01:30
【问题描述】:
对于 CloudKit 查询,我收到一个非常普遍的错误。我不知道如何解决它。有人有什么建议吗?
错误是<CKError 0x17065c230: "Internal Error" (1/2005)>
Error occurred. Error = <CKError 0x174648370: "Internal Error" (1/2005)>
我的代码是:
override func viewDidLoad() {
super.viewDidLoad()
let database = CKContainer.defaultContainer().publicCloudDatabase
let container = CKContainer.defaultContainer()
let publicDB = container.publicCloudDatabase
let data = CKRecord(recordType: "theUsers")
var predicate = NSPredicate(value: true)
let myQuery = CKQuery(recordType: "theUsers", predicate: predicate)
var mySelfie = matchedSelfie
publicDB.performQuery(myQuery, inZoneWithID: nil) {
results, error in
if error != nil {
println(error)
} else {
for record in results{
if let aselfie = record.stringForKey("selfie") { //Optional binding
mySelfie.append(aselfie) //Append to string array
mySelfie.append(aselfie)
return ()
}
}}}
}
【问题讨论】:
-
更新了您的标签和标题。请注意,这不是 Xcode 错误,Xcode 只是 IDE。
-
这是一个通用的 CloudKit 错误消息。你是只用这段代码得到这个还是什么都不起作用?您是否设置好云套件功能?如果您先从设备中删除该应用程序,然后再试一次怎么办?您没有在错误消息中获得更多信息吗?通常还有一个特定的原因。
-
只有这段代码给出了错误。我能够成功写入 CK。
-
这可能与https://stackoverflow.com/q/35321975/1359088中发表的评论有关:来自Apple的CloudKit快速入门指南:“在开发中,当您在模拟器或设备上通过Xcode运行您的应用程序时,您需要输入用于读取公共数据库中记录的 iCloud 凭据。在生产环境中,默认权限允许未经身份验证的用户读取公共数据库中的记录,但不允许他们写入记录。"
标签: ios swift cloudkit ckquery