2016-09-01 2 views
4

Wenn der Benutzer den Zugriff auf das Fotoalbum zu Beginn nicht erlaubte, werde ich mit einem Popup-Menü mit Abbrechen und Einstellungen zur Auswahl aufgefordert. Wenn er die Einstellungen wählt, bringt er ihn zur Einstellungsseite, auf der er die Kamera- und Foto-Bibliothek für die App aktivieren kann. Sobald der Benutzer jedoch die Kamera oder die Fotobibliothek in die Einstellungen wechselt, stürzt meine App mit dem Ausdruck "Nachricht vom Debugger: Beendet durch Signal 9" ab. Unten ist der Code für meinen PopupRichtiger Umgang mit Änderungen in den Einstellungen für 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) 
} 

Was ist der richtige Weg wäre, dies zu handhaben, so dass der Benutzer zurück zur App gehen und beginnen, die Auswahl der Fotos nach den Schaltern Makel?

+0

Was ist die Implementierung Ihrer PHPhotolibrary.authorizationStatus() -Methode? – dudeman

+0

Ich habe PHPhotolibrary nicht implementiert. authorizationStatus() selbst. Es stammt aus der PHPPhotoLibrary von Apple: NSObject class – user172902

+0

Was ist der Wert von photoAuthStatus? – dudeman

Antwort

Verwandte Themen