que puedo permitir organizar microfono fotos como camara acceso acceda ios swift camera photolibrary

ios - puedo - Acceso a la cámara y a la biblioteca de fotos



permitir acceso a camara iphone (4)

Si está desarrollando la aplicación en ios 10, entonces debe agregar la configuración de permisos de privacidad en su info.plist y describir algo donde necesite esta privacidad.

Lista de configuración de privacidad:

Bluetooth Sharing - NSBluetoothPeripheralUsageDescription

Calendario - NSCalendarsUsageDescription

CallKit - NSVoIPUsageDescription

Cámara - NSCameraUsageDescription

Contactos - NSContactsUsageDescription

Salud - NSHealthShareUsageDescription & NSHealthUpdateUsageDescription

HomeKit - NSHomeKitUsageDescription

Ubicación - NSLocationUsageDescription, NSLocationAlwaysUsageDescription,

NSLocationWhenInUseUsageDescription

Biblioteca de medios - NSAppleMusicUsageDescription

Micrófono - NSMicrophoneUsageDescription

Motion - NSMotionUsageDescription

Fotos - NSPhotoLibraryUsageDescription

Recordatorios - NSRemindersUsageDescription

Reconocimiento de voz - NSSpeechRecognitionUsageDescription

SiriKit - NSSiriUsageDescription

Proveedor de TV - NSVideoSubscriberAccountUsageDescription

En mi aplicación iOS tengo un ImageView y dos botones para abrir la cámara y la fototeca. Cuando hago clic en uno de los botones, la aplicación se cierra. (Estoy ejecutando la aplicación en mi dispositivo, no en el simulador) ¿Qué debo cambiar en mi código?

class PhotoViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBOutlet weak var ImageDisplay: UIImageView! @IBOutlet weak var libraryOutlet: UIButton! @IBOutlet weak var cameraOutlet: UIButton! override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func openCameraButton(_ sender: UIButton) { let picker = UIImagePickerController() picker.delegate = self picker.sourceType = .camera present(picker, animated: true, completion: nil) } @IBAction func openLibraryButton(_ sender: UIButton) { let picker = UIImagePickerController() picker.delegate = self picker.sourceType = .photoLibrary present(picker, animated: true, completion: nil) } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { ImageDisplay.image = info[UIImagePickerControllerOriginalImage] as? UIImage dismiss(animated: true, completion: nil) }

}


Si está ejecutando en iOS10, debe agregar entradas en Info.plist para acceder a la cámara

pon esta clave en Info.plist

Descripción de uso de la cámara de privacidad

http://useyourloaf.com/blog/privacy-settings-in-ios-10/

Si no, la aplicación se bloqueará como está sucediendo en su caso


En iOS 10 necesita permiso para acceder a photoLibrary o a la cámara agregando las teclas a continuación a su lista y necesita usar el método de delegado adecuado.

Para acceder a la biblioteca de fotos:

@IBAction func library(_ sender: UIButton) { if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.photoLibrary) { let imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary imagePicker.allowsEditing = true self.present(imagePicker, animated: true, completion: nil) } }

Para acceder a la cámara del dispositivo:

@IBAction func camera(_ sender: UIButton) { if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) { imagePicker.delegate = self imagePicker.sourceType = UIImagePickerControllerSourceType.camera; imagePicker.allowsEditing = false self.present(imagePicker, animated: true, completion: nil) } }

Para seleccionar y visualizar la imagen:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { if let image = info[UIImagePickerControllerOriginalImage] as? UIImage { ImageDisplay.image = image } picker.dismiss(animated: true, completion: nil); }

Salida:


iOS 10 no tiene permiso para acceder al contacto, la cámara, la biblioteca de fotos, la ubicación del usuario, etc. hasta que mencionemos por qué lo estamos usando. Abra su plist como código fuente. Agregue el siguiente código bajo dict Ahora ejecútelo de nuevo.

<!-- 🖼 Photo Library --> <key>NSPhotoLibraryUsageDescription</key> <string>$(PRODUCT_NAME) photo use</string> <!-- 📷 Camera --> <key>NSCameraUsageDescription</key> <string>$(PRODUCT_NAME) camera use</string> <!-- 📍 Location --> <key>NSLocationUsageDescription</key> <string>$(PRODUCT_NAME) location use</string> <!-- 📒 Contacts --> <key>NSContactsUsageDescription</key> <string>$(PRODUCT_NAME) contact use</string>