Приложение не имеет доступа к вашим фотографиям или видео iOS 9

Когда я обращаюсь к своей фотобиблиотеке с помощью UIImagePicker для выбора фотографии, приложение иногда показывает мне черный экран, а иногда и экран, в котором говорится, что я должен предоставить разрешения для моего приложения для доступа к фотографиям. Но когда я иду в Настройки → Конфиденциальность → Фотографии, там нет приложения, и приложение нигде не видно в настройках. Я прочитал, что должен добавить два значения в свой Info.plist, но они тоже не работали. Кто-нибудь работает с той же ошибкой? Im работает с xcode 7, swift 2.0 и iOS 9

введите описание изображения здесь

Здесь я запрашиваю у пользователя доступ к камере

@IBAction func cameraButtonPressed(sender: UIButton) {

    let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)

    let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (UIAlertAction) -> Void in
        self.dismissViewControllerAnimated(true, completion: nil)
    }

    let cameraAction = UIAlertAction(title: "Take Photo", style: .Default) { (UIAlertAction) -> Void in
        if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
            self.imagePicker.allowsEditing = false
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
            self.imagePicker.cameraCaptureMode = .Photo
            self.presentViewController(self.imagePicker, animated: true, completion: nil)
        } else {
            self.noCamera()
        }
    }

    let photoLibraryAction = UIAlertAction(title: "Photo Library", style: .Default) { (UIAlertAction) -> Void in
        self.imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        self.presentViewController(self.imagePicker, animated: true, completion: nil)
    }

    actionSheet.addAction(photoLibraryAction)
    actionSheet.addAction(cameraAction)
    actionSheet.addAction(cancelAction)

    self.presentViewController(actionSheet, animated: true, completion: nil)

}

Ответ 1

Эта проблема появляется в iOS 9, когда файл вашего приложения Info.plist содержит ключ: "CFBundleDisplayName" с пустым значением строки.

Здесь вы можете ввести свое имя приложения, и оно должно работать.

Ответ 2

В поле info.plist поле "Отображаемое имя пакета" не может быть пустым.

Пример

Ответ 3

Если вы получаете этот экран, возможно, есть причины и решения:

1.Если вы не получаете предупреждения о разрешении на доступ.

Решение: 1. Добавьте CFBundleDisplayName и его значение в качестве названия приложения или всего, что вы хотите. 2. Добавьте NSPhotoLibraryUsageDescription в файл info.plist

2. Проверьте свои настройки → Конфиденциальность → Фотографии, конфиденциальность отключена или включена.

Решение. Включите конфиденциальность фотографий.

3.Если вы работаете на симуляторе и уже добавили CFBundleDisplayName, не получая предупреждения о доступе к фотографии.

Содействие. Убедитесь, что Xcode, который вы используете, должен находиться в папке Application, чтобы получить уведомление о доступе к разрешению.

Ответ 4

это очень просто,

просто заходите в

симулятор → аппаратное обеспечение → Главная

затем в настройках телефона → в вашем приложении → теперь разрешить с помощью опции переключателя перемещения как показано ниже.

Ответ 5

Для тех, кто все еще получает эту ошибку в iOS 10, речь идет о новых настройках конфиденциальности, реализованных в iOS 10.

В принципе, в Info.plist вам нужно указать, почему вы хотите получить доступ к библиотеке фотографий, установив ключ Privacy - Photo Library Usage Description (обратите внимание, что это может быть оставлено пустой строкой).

Подробнее об этом здесь: http://useyourloaf.com/blog/privacy-settings-in-ios-10/

Ответ 6

Я понимаю, что это старый вопрос, но есть еще один последний совет, который можно предложить...

После выполнения вышеуказанных предложений у меня все еще были проблемы с разрешениями камеры, фотографий, музыкальной библиотеки на iPod touch, работающие под управлением iOS 9.3. В Settings app > Privacy > Photos не указаны приложения (также не было Privacy > Camera или Privacy > Media Library). Приложение "Настройки" не содержало строку для моего приложения, поэтому клиенты не могли изменить мои права на доступ к конфиденциальности.

Решение должно было открыть Settings app > General > Reset, а затем коснуться Reset Location & Privacy. По-видимому, настройки конфиденциальности моего устройства каким-то образом были повреждены. После reset все эти проблемы были устранены.

Ответ 7

ДЛЯ iOS10 In info.plist

"CFBundleDisplayName" введите имя вашего приложения

<key>CFBundleDisplayName</key>
<string>IMS Food-taxi</string> 

и "NSPhotoLibraryUsageDescription" добавить описание

<key>NSPhotoLibraryUsageDescription</key>
<string>you will need to give the app permission to use the Photos.</string>