PhotosPicker зависает на этапе загрузки (SwiftUI)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 PhotosPicker зависает на этапе загрузки (SwiftUI)

Сообщение Anonymous »

Проблема в том, что я пытаюсь загрузить видео из галереи в свое приложение, но у меня ничего не получается. Вот соответствующие фрагменты кода.
Это моя передаваемая структура.

Код: Выделить всё

struct Movie: Transferable {
let url: URL

static var transferRepresentation: some TransferRepresentation {
FileRepresentation(contentType: .movie) { movie in
SentTransferredFile(movie.url)
} importing: { received in
let copy = URL.documentsDirectory.appending(path: "movie.mp4")

if FileManager.default.fileExists(atPath: copy.path()) {
try FileManager.default.removeItem(at: copy)
}

try FileManager.default.copyItem(at: received.file, to: copy)
return Self.init(url: copy)
}
}
}
Это мой код SwiftUI

Код: Выделить всё

struct GalleryView: View {

@State private var selectedItem: PhotosPickerItem?

....

// Somewhere in ZStack of GalleryView
HStack {

Spacer()

VStack {

Spacer()

PhotosPicker(
selection: $selectedItem,
matching: .videos)
{
Image("btn_plus")
}
.padding(.bottom, 16)

}
.padding(.trailing, 16)
}

..........

.onChange(of: selectedItem) { newValue in
Task {
do {
print("loading!!!...")

if let movie = try await selectedItem?.loadTransferable(type: Movie.self) {
print("loaded!!!...")
} else {
print("failed!!!...")
}
} catch {
print("failed with ex!!!...")
}
}
}
Итак, когда я запускаю код, я вижу свою кнопку, нажимаю ее, Галерея открывается только с видео (как и предполагалось). Затем я выбираю какое-нибудь видео и вижу этот журнал

Код: Выделить всё

loading!!!...
И выполнение переходит в loadTransferable и никогда не возвращается. Я почти уверен, что допустил ошибку новичка, потому что впервые добавляю эту функциональность в SwiftUI. Не могли бы вы указать мне, что я сделал не так? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/784 ... ge-swiftui
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SwiftUI: PhotosPicker не может загрузить передаваемое изображение
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Ограничьте выбираемые элементы PhotosPicker только альбомами (SwiftUI)
    Anonymous » » в форуме IOS
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Ограничьте выбираемые элементы PhotosPicker только альбомами (SwiftUI)
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI. Можно ли уменьшить выбор видео в PhotosPicker до вертикального?
    Гость » » в форуме IOS
    0 Ответы
    12 Просмотры
    Последнее сообщение Гость
  • Swiftui Photospicker реагирует только на длинную прессу
    Anonymous » » в форуме IOS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

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