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, и он будет просто работать.