SwiftUI: PhotosPicker не может загрузить передаваемое изображениеIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI: PhotosPicker не может загрузить передаваемое изображение

Сообщение Anonymous »


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

Вот код:

@State Private var isShowingPhotoPicker = false @State Private var selectedItem: PhotosPickerItem? = ноль Кнопка("Выбрать изображение") { isShowingPhotoPicker.toggle() } .photosPicker(isPresented: $isShowingPhotoPicker, выбор: $selectedItem, соответствие: .images, photoLibrary: .shared()) .onChange(of: selectedItem) { newItem в если пусть newItem { Задача { делать { if let image = попробуйте await newItem.loadTransferable(type: NSImage.self) { //Делаем что-нибудь с изображением.... } } ловить { НСлог("\(ошибка)") } } } } Это не работает как на macOS, так и на iOS. Ошибка в catch:

importNotSupported

и я также получаю это длинное предупреждение и ошибку:

Загрузить подготовку к претензии 5C3B57B9-94C6-4CC6-A632-C473FE8FB85A завершено с ошибкой: Error Domain=NSCocoaErrorDomain Code=513 ""uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg” невозможно скопировать, поскольку у вас нет разрешения на доступ «CoordinatedZipFilep40sph».» UserInfo={NSSourceFilePathErrorKey=/Users/daniel/Library/Group Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUserStringVariant=( Копировать), NSDestinationFilePath=/var/folders/26/cfq1mmmn7wl1nbqwjlxf4zw00000gt/T/CoordinatedZipFilep40sph/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc =true&cap=true.jpeg, NSFilePath=/Пользователи/Даниэль/Библиотека/Группа Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUnderlyingError=0x600003e60b10 {Домен ошибок=NSPOSIXErrorDomain Code=1 «Операция не разрешена»}} Заявление 5C3B57B9-94C6-4CC6-A632-C473FE8FB85A не удалось во время подготовки к загрузка из-за ошибки: Error Domain=NSCocoaErrorDomain Code=513 ""uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg” невозможно скопировать, поскольку у вас нет разрешения на доступ «CoordinatedZipFilep40sph».» UserInfo={NSSourceFilePathErrorKey=/Users/daniel/Library/Group Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUserStringVariant=( Копировать), NSDestinationFilePath=/var/folders/26/cfq1mmmn7wl1nbqwjlxf4zw00000gt/T/CoordinatedZipFilep40sph/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc =true&cap=true.jpeg, NSFilePath=/Пользователи/Даниэль/Библиотека/Группа Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUnderlyingError=0x600003e60b10 {Домен ошибок=NSPOSIXErrorDomain Код = 1 «Операция не разрешена»}} Ошибка загрузки public.image: Ошибка. Domain=NSItemProviderErrorDomain Code=-1000 «Невозможно загрузить представление типа public.jpeg" UserInfo={NSLocalizedDescription=Невозможно загрузить представление типа public.jpeg, NSUderlyingError=0x600003e64390 {Ошибка Домен=NSCocoaErrorDomain Код=513 ""uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg” невозможно скопировать, поскольку у вас нет разрешения на доступ «CoordinatedZipFilep40sph».» UserInfo={NSSourceFilePathErrorKey=/Users/daniel/Library/Group Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUserStringVariant=( Копировать), NSDestinationFilePath=/var/folders/26/cfq1mmmn7wl1nbqwjlxf4zw00000gt/T/CoordinatedZipFilep40sph/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc =true&cap=true.jpeg, NSFilePath=/Пользователи/Даниэль/Библиотека/Группа Containers/group.com.apple.Photos.PhotosFileProvider/Поставщик файлов Storage/photospicker/uuid=59655946-D65D-418D-868E-F62EE10EB667&library=1&type=1&mode=1&loc=true&cap=true.jpeg, NSUnderlyingError=0x600003e60b10 {Домен ошибок=NSPOSIXErrorDomain Code=1 "Операция не разрешена"}}}

Мое приложение не изолировано в песочнице на macOS. Что мне не хватает?

РЕДАКТИРОВАТЬ: Теперь все становится странно: я добавил GIF и PNG в свою библиотеку фотографий, и у PhotosPicker нет проблем с их получением. Но все остальные форматы терпят неудачу. JPEG и HEIC не работают.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»