Я пытаюсь прочитать данные из текстового файла в macOS. Я использую String (contentsOf :) и Bundle.main.path (forResource :), как и на iOS. Однако в macOS это не работает. Я пробовал несколько решений из других сообщений, но из-за macOS они, похоже, не работают.
Заранее спасибо.
Редактировать: Мой код:
let path = Bundle.main.path(forResource: "file", ofType: "txt")! // no error
let url = URL(string: path)! // no error
let contents: String
do {
contents = try String(contentsOf: url)
} catch {
print(error) // Error Domain=NSCocoaErrorDomain Code=262 "The file couldn’t be opened because the specified URL type isn’t supported."
contents = "ERROR"
}
print(contents)
Я могу сохранить данные в папку на диске, но я хочу отправить этот файл вместе с моим приложением.
URL(string
- неправильный API. Только для строк URL, начинающихся со схемы (http://
, file://
)
Для файловой системы пути необходимо использовать URL(fileURLWithPath
.
Но в этой ситуации есть способ лучше
Заменять
let path = Bundle.main.path(forResource: "file", ofType: "txt")!
let url = URL(string: path)! // no error
с участием
let url = Bundle.main.url(forResource: "file", withExtension: "txt")
Добавьте свой код к вопросу, пожалуйста.