Access to Camera and PhotoLibrary

后端 未结 4 1330
野性不改
野性不改 2021-01-26 03:12

In my iOS app I have an ImageView and two Buttons for opening the camera and the photolibrary. When I click on one of the buttons the app closes. (I\'m running the app on my dev

相关标签:
4条回答
  • 2021-01-26 03:56

    If you are developing the app in ios 10 , then have to add the privacy permission setting in your info.plist and describe something where you need this privacy.

    Privacy Setting List:

    Bluetooth Sharing – NSBluetoothPeripheralUsageDescription

    Calendar – NSCalendarsUsageDescription

    CallKit – NSVoIPUsageDescription

    Camera – NSCameraUsageDescription

    Contacts – NSContactsUsageDescription

    Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription

    HomeKit – NSHomeKitUsageDescription

    Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription,

    NSLocationWhenInUseUsageDescription

    Media Library – NSAppleMusicUsageDescription

    Microphone – NSMicrophoneUsageDescription

    Motion – NSMotionUsageDescription

    Photos – NSPhotoLibraryUsageDescription

    Reminders – NSRemindersUsageDescription

    Speech Recognition – NSSpeechRecognitionUsageDescription

    SiriKit – NSSiriUsageDescription

    TV Provider – NSVideoSubscriberAccountUsageDescription

    0 讨论(0)
  • 2021-01-26 04:01

    In iOS 10 you need permission to access photoLibrary or camera by adding below keys to your plist and you need to use the proper delegate method.

    To Access Photo Library:

    @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)
          } 
        }
    

    To Access Device Camera:

    @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)
            }
        }
    

    To Pick and display Image:

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

    Output:

    0 讨论(0)
  • 2021-01-26 04:03

    If you are running on iOS10, you have to add entries in Info.plist for accessing camera

    put this key in Info.plist

    Privacy-Camera Usage Description

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

    If not the app would crash as is happening in your case

    0 讨论(0)
  • 2021-01-26 04:11

    iOS 10 is not allowed to access the Contact, Camera, Photo library, User location and so on until we mention Why we are using it.open your plist as Source code add the below code under dict Now run it again.

    <!--                                                                     
    0 讨论(0)
提交回复
热议问题