CloudKit 查询的奇怪错误
Posted
技术标签:
【中文标题】CloudKit 查询的奇怪错误【英文标题】:Strange error with CloudKit query 【发布时间】: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://***.com/q/35321975/1359088中发表的评论有关:来自Apple的CloudKit快速入门指南:“在开发中,当您在模拟器或设备上通过Xcode运行您的应用程序时,您需要输入用于读取公共数据库中记录的 iCloud 凭据。在生产环境中,默认权限允许未经身份验证的用户读取公共数据库中的记录,但不允许他们写入记录。" 【参考方案1】:我遇到了同样的错误。您可以通过查看项目“功能”选项卡中的 iCloud 步骤部分来获取更多信息:
-
在项目导航器中,选择您的项目
选择您的目标
选择功能
展开 iCloud 部分
假设您启用了 CloudKit 服务,您应该会看到必须执行的步骤列表。 (例如,将“iCloud”权利添加到您的 App ID。)
很有可能,其中至少有一个显示红色错误图标而不是复选标记。
【讨论】:
以上是关于CloudKit 查询的奇怪错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 wcf 对 sql server 运行查询时出现奇怪的错误