CloudKit
bir CKRecord
İndirilmesi ve yaratıcısı recordName
çizdirirken gösterilen yerine "__defaultOwner__" içerir, bu görebilirsiniz:creatorUserRecordID.recordName UUID Pano
(lldb) po record.creatorUserRecordID.recordName
__defaultOwner__
ama, Dashboard bir gerçek değerini gösterir.
Umarım sadece bu oturum açmış olan kullanıcıdan önce indirmem gerekmez. onun şu anda iCloud hesabı oturum ait anlamına "__defaultOwner__"
- (void)postMoodFeed:(NSString *)moodFeed
{
CKRecord *moodRecord = [[CKRecord alloc] initWitenter code herehRecordType:@"Mood"];
moodRecord[@"moodFeed"] = moodFeed`enter code here`
[[[CKContainer defaultContainer] publicCloudDatabase] saveRecord:moodRecord completionHandler:^(CKRecord *record, NSError *error) {
[self queryMyMood];
}];
}
- (void)queryMyMood
{
// currentUserRecordID is fetched from fetchUserRecordIDWithCompletionHandler: of CKContainer
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"creatorUserRecordID = %@", currentUserRecordID];
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Mood" predicate:predicate];
[[[CKContainer defaultContainer] publicCloudDatabase] performQuery:query inZoneWithID:nil completionHandler:^(NSArray *results, NSError *error) {
if (results) {
for (CKRecord *eachRecord in results) {
// Following logs are all __defaultOwner__
NSLog(@"%@", eachRecord.creatorUserRecordID.recordName);
[[[CKContainer defaultContainer] publicCloudDatabase]fetchRecordWithID:eachRecord.creatorUserRecordID completionHandler:^(CKRecord *record, NSError *error) {
// All following logs are "Unknown item" error
NSLog(@"%@", error);
}];
}
}
}];
}
Ayrıca, bu değişkende bulunabilir: CKCurrentUserDefaultName: https://developer.apple.com/documentation/cloudkit/ckcurrentuserdefaultname?language=objc –