Я работаю над приложением, отображающим информационную панель на основе пиктограмм. Мне дали пользователю возможность выбрать пиктограмму из библиотеки фотографий и показать ее в приложении. В рамках этого процесса я восстанавливаю имя файла, чтобы я мог представить имя пиктограммы вместе с изображением.
Я использую UIImagePickerController, чтобы выбрать изображение из библиотеки фотографий и PHAsset, чтобы собрать имя файла:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset {
let assetResources = PHAssetResource.assetResources(for: asset)
print(assetResources.first!.originalFilename)
}
dismiss(animated: true, completion: nil)
}
Это решение прекрасно работает в симуляторе XCode с iOS 13.2. Тем не менее, он не работает в Ipad под управлением iOS 13.3. В последнем случае я понял, что имя файла изменяется во время загрузки файла в библиотеку фотографий. В результате я восстанавливаю обобщенное имя c, такое как IMG_001 или IMG_052 (файл: ///var/mobile/Media/DCIM/100APPLE/IMG_001.png)
Я проверил все метаданные из assetResources и я убедился, что атрибуты имени файла и URL-адреса регистрируют это имя c. Я также проверил, что я получаю это имя, когда импортирую файл из библиотеки фотографий Ipad в мою MacOS. Однако, если я получаю доступ к файлу из утилиты Ipad File Manager, я вижу правильный.
Поэтому кажется, что iOS13.3 меняет имя файла как часть процесса загрузки в библиотеку фотографий. Я был бы очень признателен за понимание того, как восстановить исходное имя файла.
Заранее спасибо