【发布时间】:2015-09-29 00:21:26
【问题描述】:
我正在尝试在 CloudKit 中获取用户保存的数据。我可以在 CloudKit 仪表板中看到记录,但无法通过应用程序中的代码访问它。
-(void)getUserRecordID {
CKContainer *defaultContainer =[CKContainer defaultContainer];
[defaultContainer fetchUserRecordIDWithCompletionHandler:^(CKRecordID *recordID, NSError *error) {
if (!error) {
[defaultContainer fetchUserRecordIDWithCompletionHandler:^(CKRecordID *recordID, NSError *error) {
self.userRecordID = recordID;
NSLog(@"user record id: %@",recordID);
[self getUserRecord];
}];
}
else {
NSLog(@"error: %@",error.localizedDescription);
}
}];
}
-(void)getUserRecord {
CKContainer *defaultContainer =[CKContainer defaultContainer];
CKDatabase *publicDatabase = defaultContainer.publicCloudDatabase;
[publicDatabase fetchRecordWithID:self.userRecordID completionHandler:^(CKRecord *userRecord, NSError *error) {
if (!error) {
NSLog(@"current coins: %@",userRecord);
}
else {
NSLog(@"error: %@",error.localizedDescription);
}
}];
}
这会获取用户记录信息,但不会获取已保存私人记录的 ID。我怎样才能得到它们?
【问题讨论】:
-
与您希望它做的相比,澄清您发布的代码的作用和不作用。
-
它确实获取了当前用户的用户记录。它不会获取保存在该用户私有容器中的数据,也不会获取私有记录的 RecordID。
-
您的代码不会尝试读取其他记录,只读取用户记录。
-
我希望我能获得私人记录或其他东西的 ID。但我在文档中找不到任何说明如何去做的事情......
-
您应该阅读CloudKit Quick Start 指南。