2015-05-28 6 views
5

CloudKit से एक CKRecord डाउनलोड कर रहा है और जब निर्माता recordName की साजिश रचने में दिखाया गया है, मैं इस देख सकते हैं:creatorUserRecordID.recordName "__defaultOwner__" शामिल हैं बजाय UUID डैशबोर्ड

(lldb) po record.creatorUserRecordID.recordName 
__defaultOwner__ 

लेकिन, डैशबोर्ड एक वास्तविक मूल्य दिखा।

enter image description here

क्यों अंतर ?!

मुझे आशा है कि मुझे केवल लॉग इन उपयोगकर्ता के कारण डाउनलोड करना पड़ेगा ?!

- (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); 
       }]; 
      } 
     } 
    }]; 
} 

उत्तर

0

यह एक बग

संपादित इस है। तो आप इसे "मी" या व्यक्ति के नाम से बदल सकते हैं यदि आपके पास है। यदि आप लॉग इन उपयोगकर्ता के रिकॉर्ड आईडी को जानना चाहते हैं तो आप एसिंक्रोनस विधि fetchUserRecordIDWithCompletionHandler का उपयोग कर सकते हैं।

4

"__defaultOwner__" मतलब द्वारा वर्तमान में iCloud खाते में लॉग इन किया है अपने स्वामी:

+0

इसके अलावा, यह चर में पाया जा सकता है: CKCurrentUserDefaultName: https://developer.apple.com/documentation/cloudkit/ckcurrentuserdefaultname?language=objc –

संबंधित मुद्दे