2016-07-21 28 views
1

Ich arbeite an einer iOS-App, bei der der Benutzer an einer Stelle ein Foto macht. Ich möchte jedoch, dass der Benutzer NUR die Frontkamera benutzen kann. Das heißt, sie sollten keinen Zugriff auf die Rückfahrkamera haben. Derzeit sieht mein Code wie folgt aus:So schränken Sie die Verwendung der Kamera nach hinten in der iOS-App ein

@IBAction func takePicture(sender: UIButton) { 

    if UIImagePickerController.availableCaptureModesForCameraDevice(.Front) != nil { 
     let imagePickerController = UIImagePickerController() 
     imagePickerController.sourceType = .Camera 
     imagePickerController.allowsEditing = false 
     imagePickerController.cameraDevice = .Front 
     imagePickerController.delegate = self 
     presentViewController(imagePickerController, animated: true, completion: nil) 
    } 
    else { 
     let alertVC = UIAlertController(
      title: "No Camera", 
      message: "Sorry, this device has no camera", 
      preferredStyle: .Alert) 
     let okAction = UIAlertAction(
      title: "OK", 
      style:.Default, 
      handler: nil) 
     alertVC.addAction(okAction) 
     presentViewController(alertVC, 
           animated: true, 
           completion: nil) 
    } 
} 

Obwohl diese Standardeinstellungen der Kamera nach vorne raus zu sein, ist es immer noch Anwender die Wahl, an der Rückseite der Kamera wechseln bietet. Gibt es eine Möglichkeit, diese Funktionalität einzuschränken?

Vielen Dank im Voraus

Antwort

0

Wenn Sie dem Benutzer die Freiheit von einem UIImagePickerController angeboten, damit nicht wollen, verwenden Sie einfach nicht UIImagePickerController. Entwickeln Sie Ihre eigene Bildaufnahme-Schnittstelle (über AVFoundation), wo Sie sind die totale Kontrolle.