Разрешение SwiftUI BookmarkData не компилируетсяIOS

Программируем под IOS
Ответить
Anonymous
 Разрешение SwiftUI BookmarkData не компилируется

Сообщение Anonymous »

Я позволяю пользователю выбрать музыкальный файл, который затем следует воспроизводить много раз, при этом приложение закрывается. Итак, мне нужен доступ к SecurityScope, поэтому я сохранил fileImport в закладке Data. Сейчас пытаюсь распаковать эту закладку, но не получается и получаю ошибку.
Также во всех примерах, которые я читал об этом, использовался .withSecurityScope при установке закладку, но когда я пытаюсь реализовать их, я получаю сообщение об ошибке, сообщающее, что эту опцию нельзя использовать в iOS.

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

Cannot pass immutable value as inout argument: literals are not mutable
Здесь я пытаюсь распаковать закладку.

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

do {
/// Unpacking the Bookmark into our URL
musicUrl = try URL(resolvingBookmarkData: asana.musicBookmark, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: false)

musicSound = try AVAudioPlayer(contentsOf: musicUrl)
musicSound?.play()
musicSound?.numberOfLoops = 10000
} catch {
print("Failed to play Music: \(error.localizedDescription).")
}
Вот как я устанавливаю закладку.

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

/// We let the User choose a file, which is then returned as result
.fileImporter(isPresented: $chooseMusic, allowedContentTypes: [.item]) {result in
switch result {
case .success(let Fileurl):
let gotAccess = Fileurl.startAccessingSecurityScopedResource()
do {
asana.musicBookmark = try Fileurl.bookmarkData()
} catch {
print("JSONSerialization error:", error)
}
Fileurl.stopAccessingSecurityScopedResource()
case .failure(let error):
print(error)
}
}
В качестве дополнительного вопроса, есть ли способ установить бесконечный цикл аудиофайла? Он должен останавливаться только после того, как пользователь покинет это представление или нажмет кнопку «Стоп».

Подробнее здесь: https://stackoverflow.com/questions/792 ... ot-compile
Ответить

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

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

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

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

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