2016-11-01 4 views
0

CloudKit을 백엔드에 사용하는 앱을 보유하고 있으며 사용자가 로그인하지 않았거나 사용자가 로그인되어 있고 iCloud 드라이브를 사용할 수 있습니다. 사용자가에 로그인 한 경우,아이 클라우드 드라이브 비활성화, 내 CKQuery에 오류가 발생하고 반환 된 결과는 비어 있습니다. 오류 :CloudKit 공용 컨테이너 액세스, 사용자가 로그인했지만 iCloud 드라이브가 사용 중지 된 경우

"인증되지 않음"(9/1002); "계정에 CloudKit 계정에 대한 액세스 권한이 없습니다"

이 동작은 사용자가 로그 아웃하고 데이터에 액세스 할 수 있으므로 이상하게 보입니다. iCloud 드라이브가 비활성화 된 상태에서 사용자에게 공개 컨테이너 데이터를 제공 할 수 있습니까?

참고 : 내가 알고있는 많은 사람들이 iCloud 드라이브 액세스를 제한하는 기업용 MDM 프로파일을 설치하여 내 앱의 백엔드를 종료하기 때문에 이것이 필요합니다.

답변

0

나는 이것을 또한주의했다. iOS9에서 xcode 7 사용자가 iCloud에 로그인하지 않았지만 쓸 수는 있지만 쓸 수는 없습니다. 실행중인 CloudKit의 앱

는 컨테이너의 공공 데이터베이스는 사용자가 장치에서 자신의 아이 클라우드 계정 에 로그인하지 않는 경우에도, 항상 읽을 수 입니다. 공공 데이터베이스에 레코드를 저장 및 개인 데이터베이스를 액세스하는 사용자가이 사건이 더 이상이다 ios10와 엑스 코드 8은 이후

https://developer.apple.com/library/prerelease/content/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html

에 내 모든 시험을 체결하지해야합니다 그리고 당신은 경우 iCloud에 로그인하지 않거나 읽고 쓸 수 없습니다. 이걸 증명할 수있는 문서를 찾을 수는 없지만 ios9가 설치된 기기에서 앱을 실행하면 작동하며 ios10에서는 작동하지 않습니다.

+0

iOS 10에서는 로그인하지 않았지만 시뮬레이터에는없고 기기에서만 데이터를 가져 왔습니다. 시뮬레이터에는 어떤 종류의 버그가있는 것으로 보입니다. 또한 핵심 기능을 위해 iCloud 로그인이 필요한 경우 앱 스토어에서 앱을 허용하지 않는 어려운 방법을 발견했습니다. – EarlybirdAdam

+0

필자는 쓰기 기능에 항상 iCloud 로그인이 필요하다고 언급해야합니다. – EarlybirdAdam

+0

@ EarlybirdAdam ios10을 사용하여 실제 장치에서 작동하지 않았습니다. 사용자가 로그인하고 데이터를로드하거나 로그인하라는 경고를 표시하는 경우 테스트하도록 앱을 설정했습니다. 따라서 소리가 나면 거부 될 것입니다. 특히 로그인하지 않은 사용자와 함께 읽도록 한 것이 있습니까? –