Swift Package Manager - зависимость UIKit
У меня есть Package.swift в моем проекте, например:
import PackageDescription
let package = Package(
name: "ProjectName",
dependencies: [
.Package(url: "https://github.com/intellum/neeman.git", majorVersion: 0)
]
)
Когда я запускаю swift build
я получаю такие ошибки, как...
/project/Packages/WebViewController.swift:1:8: error: no such module 'UIKit'
import UIKit
^
Где я должен сказать оперативному менеджеру пакетов, где можно найти UIKit?
Ответы
Ответ 1
Swift Package Manager создает исполняемые файлы для работы на OS X (или Linux); UIKit является основой в iOS и не будет доступен.
Это может быть iOS, tvOS и другие становятся доступными, так как Swift Package Manager развивается.
4 декабря 2015 года, в 17:39, Даниэль Данбар (@apple.com) написал:
...
Правильно, теперь мы только компилируем для хост-платформы (OS X или Linux, в настоящее время). Помимо прочего, в настоящее время у нас нет знаний (или вариантов выбора), какой SDK или архитектура вы планируете. У нас также нет механизмов для определения того, какие цели платформ совместимы в манифесте.
Ответ 2
В настоящее время Swift Package Manager имеет полную поддержку Xcode. Я смог обойти эту ошибку, указав в манифесте Package.swift, что платформа была iOS.
let package = Package(
name: "MyPackage",
platforms: [
.iOS(.v8)
],
Затем вы можете открыть файл Package.swift в XCode, и он будет просто работать.