사용자가 처음에 사진 앨범에 액세스 할 수 없으면 선택 취소 및 설정 팝업이 표시됩니다. 그가 설정을 선택하면 설정 페이지로 이동하여 앱의 카메라 및 사진 보관함을 사용하도록 설정할 수 있습니다. 그러나 사용자가 설정에서 카메라 또는 사진 라이브러리 스위치를 토글하자마자 내 앱은 "디버거의 메시지 : 신호 9로 인해 종료되었습니다"라는 인쇄물과 충돌합니다. 다음은 내 팝업에 대한 코드는IOS의 설정 변경을 처리하는 올바른 방법
@IBAction func cameraBarBtnPress(sender: AnyObject) {
let photoAuthStatus = PHPhotoLibrary.authorizationStatus()
switch photoAuthStatus {
case .Authorized:
presentFusumaCameraVC()
case .Denied, .Restricted :
showNeedPhotoAlbumAccessPopup()
case .NotDetermined:
PHPhotoLibrary.requestAuthorization({ (authStatus: PHAuthorizationStatus) in
switch authStatus {
case .Authorized:
self.presentFusumaCameraVC()
case .Denied, .Restricted :
self.showNeedPhotoAlbumAccessPopup()
case .NotDetermined:
print("Shouldnt get to here")
}
})
}
}
func showNeedPhotoAlbumAccessPopup() {
let alertController = UIAlertController(title: "Enable Photo Album Access", message: "", preferredStyle: .Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
let settingsAction = UIAlertAction(title: "Settings", style: .Default, handler: { (action: UIAlertAction) in
let settingsUrl = NSURL(string: UIApplicationOpenSettingsURLString)
if let url = settingsUrl {
UIApplication.sharedApplication().openURL(url)
}
})
alertController.addAction(settingsAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
사용자가 다시 응용 프로그램으로 이동하여 스위치를 전환 한 후 사진을 선택 시작할 수 있도록 어떤이 처리하는 올바른 방법이 될 것이다?
PHPhotolibrary.authorizationStatus() 메소드의 구현은 무엇입니까? – dudeman
PHPhotolibrary를 구현하지 않았습니다. authorizationStatus() 자신. 그것은 애플의 PHPPhotoLibrary에서 온 것입니다 : NSObject 클래스 – user172902
photoAuthStatus의 값은 무엇입니까? – dudeman