Библиотеки Xcode и SPM

Я хочу написать свой проект с помощью менеджера пакетов Swift. Единственный возможный способ получить завершение кода - через Xcode AFAIK. Все остальные попытки завершить код в Vim потерпели неудачу для меня.

Настройка моего пакета Swift:

$ mkdir SwiftProject
$ cd SwiftProject

$ swift package init --type executable

Этот шаг генерирует стандартную структуру пакета с Package.swiftИсходная папка, содержащая main.swift и так далее.

$ swift package generate-xcodeproj

Последний шаг генерирует SwiftProject.xcodeproj со всеми настройками для сборки пакета swift из Xcode.

Пока все работает, пока не добавятся зависимости Package.swift,

Мой текущий Package.swift:

import PackageDescription

let package = Package(
    name: "SwiftProject",
    dependencies: [
        .Package(url: "https://github.com/czechboy0/Socks.git", majorVersion: 0, minor: 7)
    ]
)

Теперь, когда я import SocksCore в моем main.swift и работать с ним, компилируя его через CLI swift build работает нормально и работает. Но мой Xcode-Project не компилируется, потому что не может найти модуль SocksCore. Я думаю, что мне нужно импортировать .dylib-Файлы, так что Xcode может построить проект.

К моей проблеме сейчас: как мне сгенерировать эти динамические библиотеки с помощью SPM? Я не нахожу способ сделать это. Каждый урок об использовании SPM с XCode имеет это .dylib или статические библиотеки .a, но этот учебник построен с более старой версией снэпшота разработки, чем моя. Я строю с DEVELOPMENT-SNAPSHOT-2016-06-06-a, Я не могу найти способ построить их с моим снимком. Это уже невозможно? Или что я делаю не так в данный момент?

Или есть другой способ работы с SPM и Xcode? Было бы хорошо, если бы я мог найти решение, чтобы начать свой проект.

2 ответа

Решение

В настоящее время вам необходимо заново создавать проект Xcode вручную, когда вы вносите изменения в структуру пакета. Это включает в себя добавление новых зависимостей, но также каждый раз, когда вы добавляете новый исходный файл.

Просто чтобы уточнить / упростить ответ Даниэля Данбара, после каждого

swift package update 

Вы должны сгенерировать xcodeproj снова:

swift package generate-xcodeproj
Другие вопросы по тегам