문서에 사용자가 적절한 iCloud 계정으로 로그인하지 않아도 CloudKit 공용 데이터베이스를 읽을 수 있다고 나와 있습니다. 그러나 iOS 시뮬레이터 나 장치를 iCloud에 연결하지 않으면 클라우드 데이터베이스에서 아무 것도 가져올 수 없습니다. iCloud 계정을 활성화하면 공개 데이터베이스에서 데이터를 가져올 수 있습니다. 대답이 있거나 나와 같은 문제가있는 사람이 대답 할 수 있다면 좋을 것입니다. 감사.CloudKit iCloud 로그인없이 공개 데이터베이스 읽기
CKDatabase *publicDatabase = [[CKContainer containerWithIdentifier:@"mycontainer"] publicCloudDatabase];
CKRecordID *recordID = [[CKRecordID alloc] initWithRecordName:@"idofmyrecord"] ;
[publicDatabase fetchRecordWithID:recordID completionHandler:^(CKRecord *fetchedRecord, NSError *error) {
if(!error){
NSLog(@"****Success***** %@",fetchedRecord[@"field1"]);
}else{
NSLog(@"****Failed***** %@",fetchedRecord[@"field2"]);
}
}];
은 컨테이너 연결 운영 체제입니까? 나는 보통 [CKContainer defaultContainer]를 사용합니다. –
데이터가 다른 컨테이너에 저장되어 있기 때문에 다른 컨테이너를 사용하고 있습니다. iCloud 계정없이 액세스 할 수 있도록 연결 설정을 변경하려면 어떻게해야합니까? 도와 주셔서 감사합니다. –
로그인하지 않고'fetchRecordWithID' 메소드를 수행하는 것이 문제가되지 않아야합니다.'containerWithIdentifier'가 리턴하는 것은 무엇입니까? –