2016-06-17 7 views
11

사진 라이브러리에 대한 인증을 요청할 때마다 시뮬레이터에서 실행할 때 내 앱이 계속 충돌합니다. 나는 didFinishLaunchingWithOptions 내 AppDelegate에 다음 코드를 사용하고 있습니다 :xcode 8 PHPhotoLibrary.request 충돌을 일으키는 인증 시도

if PHPhotoLibrary.authorizationStatus() != PHAuthorizationStatus.authorized { 
    PHPhotoLibrary.requestAuthorization({ (status: PHAuthorizationStatus) in 

    }) 
} 

빠른 3.0 엑스 코드 8 베타를 사용.

답변

23

실제 테스트를 거치지 않은 경우 iOS 10은 실제 기기에서 실행되지 않는 한 유용한 오류 메시지를 출력하지 않습니다. 이 특별한 경우에는 Info.plist 파일에 NSPhotoLibraryUsageDescription 키를 제공하지 않았을 것이며 인증을 요청하기 전에 해당 값을 제공해야합니다.

+0

답장을 보내 주셔서 감사합니다. 내 plist 파일을 수정하는 데 너무 많은 시간을 소비하지 않았습니다. 더하기를 누르고 NSPhotoLibraryUsageDescription을 수동으로 입력하고 유형을 String으로 선택하는 것만 큼 간단합니까? 또한 앞으로 이슈가 될 것인가? 그 속성은 시스템 속성이었고 시스템 알림 승인 이외의 응용 프로그램 내에서 수정할 수 없다고 생각했습니다. – alionthego

+2

당신이 말한 단계를 수행 한 다음, 오른쪽 상자에 텍스트를 입력하십시오 : "우리는 당신의 사진을 읽어야 우리가 일부 잡화를 구울 수 있습니다." 이렇게하면 사용자가 액세스하려는 이유를 설명 할 수 있으며 iOS에서는 표준 절차입니다. [지금 iOS 10에 대한 책을 쓰고 있습니다.] (https://gumroad.com/l/ios10) 첫 번째 장에서는이 절차를 정확하게 설명합니다. – TwoStraws

+0

좋습니다. 완벽하게 작동합니다. 도와 주셔서 대단히 감사합니다. – alionthego

2

기기의 사진에 대한 액세스를 허용해야합니다. info.plist에 키와 문자열을 추가하십시오. 속성 목록보기의 자동 완성은 "개인 정보 - 사진 라이브러리 사용 설명"입니다. 또는 소스 코드보기에서 info.plist를 열고 다음을 추가하십시오.