UIImagePickerController с источником сохраненного фотоальбома не показывает живые фотографии?
Я работаю в приложении, где у пользователя есть фотография профиля. Одним из замечаний, которые кто-то имел, было то, что при открытии библиотеки живые изображения не показывались. Я попытался добавить тип носителя следующим образом:
@IBAction func selectLibrary() {
let picker = UIImagePickerController()
picker.sourceType = .savedPhotosAlbum
picker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
picker.delegate = self
present(picker, animated: true)
}
Однако, когда я сделал это, мое приложение упало, и оно выдало мне следующую ошибку:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'No available types for source 2'
Это было протестировано на iPhone 7 под управлением iOS 11.0 и iPhone 8 плюс под управлением iOS 11.2
Есть ли что-то, что я пропускаю, возможно, какой-то дополнительный шаг, который я забыл при попытке использовать живые фотографии?
Благодарю.
1 ответ
Строки не совпадают с константами. Ваш код говорит:
picker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
Это не допустимые типы носителей. То, что вы хотите использовать, это константы:
picker.mediaTypes = [kUTTypeLivePhoto as String, kUTTypeImage as String]
Вам нужно будет import MobileCoreServices
использовать константы.