Разрешение на фотографирование ИЛИ получение изображения из библиотеки, не отображаемой в iOS9 (Xcode 7beta, Swift2)

В приведенном ниже коде показан пример моего доступа к библиотеке изображений. Независимо от того, где я вызываю код (представление), я не вижу всплывающего диалогового окна разрешения с телефона и, следовательно, не могу разрешить моему приложению доступ к камере или библиотеке.

Кроме того, в настройках конфиденциальности не отображается мое приложение. есть идеи? Я схожу с ума.

       let imgPicker = UIImagePickerController()
        imgPicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        imgPicker.modalPresentationStyle = UIModalPresentationStyle.Popover
        self.presentViewController(imgPicker, animated: true, completion: nil)

по другому пробовал

            if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) {
                let imagePicker:UIImagePickerController = self.imagePickerController

                imagePicker.allowsEditing       =   true
                imagePicker.sourceType          =   UIImagePickerControllerSourceType.Camera
                imagePicker.cameraCaptureMode   =   UIImagePickerControllerCameraCaptureMode.Photo
                imagePicker.cameraDevice        =   UIImagePickerControllerCameraDevice.Rear
                imagePicker.showsCameraControls =   true
                imagePicker.navigationBarHidden =   true
                imagePicker.toolbarHidden       =   true
                imagePicker.delegate = self

            self.presentViewController(imagePicker, animated: true, completion: nil)
            }

person DirkLX    schedule 23.07.2015    source источник


Ответы (3)


Вам нужно установить новую пару значений Info.plist, так же, как String для служб определения местоположения в iOS8:

Просто установите строку описания для них.

Информация.plist

person longbow    schedule 21.09.2015
comment
Это не решение. - person durazno; 25.11.2015

Проверьте инф.плист.

если для параметра "Отображаемое имя пакета" ничего не задано,

В iOS 8.1 появится всплывающее окно разрешения, подобное этому

"" Хотел бы получить доступ к вашим фотографиям

Но в iOS 9 вообще нет разрешения на всплывающие окна.

Кроме того, нет настроек разрешений в разделе «Настройки»> «Конфиденциальность»> «Фотографии»> «Имя вашего приложения».

Чтобы решить эту проблему,

Удалите «Отображаемое имя пакета» в вашем info.plist.

person Taekyu Lee    schedule 25.09.2015
comment
У меня изначально не было отображаемого имени Bundle, и у него возникла эта проблема. Что делать тогда? - person durazno; 25.11.2015
comment
Я не могу комментировать, является ли удаление всего вместе правильным методом, НО я просто заполнил область «строка» фактическим названием приложения, работает. - person Chris J; 22.02.2016
comment
Это определенно неправильный ответ. Правильный ответ - это то, что сказал @longbow, вы должны заполнить соответствующие строки info.plist. - person barndog; 06.03.2016

Судя по всему, это проблема с iOS9. По какой-то причине диалоговое окно доступа к разрешению не появляется. Я успешно протестировал iOS8, используя тот же код.

person DirkLX    schedule 24.07.2015
comment
У вас есть исправление для этого еще? - person jonypz; 01.09.2015
comment
Нет. Я пока вернулся к iOS 8. Нет времени возиться с этими проблемами. Извини. - person DirkLX; 01.09.2015
comment
@DirkLX Вы еще не исправили это? - person user2363025; 27.10.2015