Как создать Package.Dependency.package из содержимого файла json? ⇐ IOS
Как создать Package.Dependency.package из содержимого файла json?
Мой пакет Swift имеет внешние зависимости, которые определены в файле JSON dependency.json, и он находится в том же каталоге, что и файл package.swift,
[ { "name":"Пакет1", "url": "https://github.com/xxxx/Package1", "версия": "1.0.0" } ] Теперь в package.swift я хочу прочитать файл, проанализировать его и добавить package.dependents,
struct Зависимость: декодируемая { пусть имя: Строка пусть URL: строка пусть версия: строка } функция addDependities() { пусть зависимости = getDependologies() для зависимости в зависимостях { пусть packageDependency = Package.Dependency.package(url: dependency.url, точное: Версия(строкаЛитерал: зависимость.версия)) package.dependents.append(packageDependency) } } func getDependency() -> [Зависимость] { пусть имя_файла = «зависимости.json» let fileURL = fileURL, как его получить? охранник пусть jsonData = попробовать? Данные (contentsOf: fileURL) еще { FatalError("Не удалось загрузить данные JSON \(fileURL) и каталог \(currentDirectoryPath)") } пусть декодер = JSONDecoder() охранник пусть зависимости = попробовать? decoder.decode([Зависимость].self, from: jsonData) else { возвращаться [] } возвращаемые зависимости } Я не знаю, как получить путь к файлу dependency.json. Я не думаю, что Bundle.main.url(forResource: "зависимости", withExtension: "json") здесь подойдет.
Мой пакет Swift имеет внешние зависимости, которые определены в файле JSON dependency.json, и он находится в том же каталоге, что и файл package.swift,
[ { "name":"Пакет1", "url": "https://github.com/xxxx/Package1", "версия": "1.0.0" } ] Теперь в package.swift я хочу прочитать файл, проанализировать его и добавить package.dependents,
struct Зависимость: декодируемая { пусть имя: Строка пусть URL: строка пусть версия: строка } функция addDependities() { пусть зависимости = getDependologies() для зависимости в зависимостях { пусть packageDependency = Package.Dependency.package(url: dependency.url, точное: Версия(строкаЛитерал: зависимость.версия)) package.dependents.append(packageDependency) } } func getDependency() -> [Зависимость] { пусть имя_файла = «зависимости.json» let fileURL = fileURL, как его получить? охранник пусть jsonData = попробовать? Данные (contentsOf: fileURL) еще { FatalError("Не удалось загрузить данные JSON \(fileURL) и каталог \(currentDirectoryPath)") } пусть декодер = JSONDecoder() охранник пусть зависимости = попробовать? decoder.decode([Зависимость].self, from: jsonData) else { возвращаться [] } возвращаемые зависимости } Я не знаю, как получить путь к файлу dependency.json. Я не думаю, что Bundle.main.url(forResource: "зависимости", withExtension: "json") здесь подойдет.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение