아래 코드로 사용자의 연락처를 찾으려고합니다.이 코드는 UITableViewController
의 구현에 있습니다. 두 코드 블록에 중단 점을 넣었으며 completionBlock이 호출되는 동안 userIdentityDiscoveredBlock
이 호출되지 않았 음을 확인했습니다.CKDiscoverAllUserIdentitiesOperation에서 사용자를 검색 가능하게 만드는 이유는 무엇입니까?
시뮬레이터에서 실행 중이지만 시뮬레이터가 모든 iCloud 연락처를 동기화했음을 확인했습니다. (연락처 프로그램을 열면 해당 연락처가 열립니다. 시뮬레이터는 내 모든 연락처를 보여줍니다.)
override func viewDidLoad() {
super.viewDidLoad()
let op = CKDiscoverAllUserIdentitiesOperation()
op.discoverAllUserIdentitiesCompletionBlock = { error -> Void in
// reload my data table
}
op.userIdentityDiscoveredBlock = { user -> Void in
if user.hasiCloudAccount {
self.iCloudUsers.append(user)
} else {
self.nonICloudUsers.append(user)
}
}
CKContainer.default().add(op)
}
내 질문은 이것입니다. 연락처를 찾기 위해서? 이것은 시뮬레이터 문제입니까?
은 내가 documentation과 다른 질문을 검색하지만 난이 주어진 작업에 대한 정보 새로운를 찾을 수 없습니다 아이폰 OS 10
부머,하지만 고마워! 나는 [더 이상 사용되지 않는 것] (https://developer.apple.com/reference/cloudkit/ckdiscoverallcontactsoperation)보다 쉽지 않기를 바랬지 만 그렇지 않은 것 같습니다. –
왜 그것은 어리석은 짓입니까? 앱에 몇 줄의 코드를 추가하면됩니다. – rmaddy
맞아요. 큰 문제는 아니지만, 사용자가 선택했던 것 대신 모든 연락처를 볼 수있게되기를 바랬습니다. 이해할 수 있습니다. –