Упаковка двоичных файлов с помощью SPM
Инициализируйте пакет исполняемого файла, задайте product , добавьте зависимости и создайте двоичный файл release из .build/release , готовый к распространению.
«Упаковка двоичных файлов с помощью SPM» — бесплатный урок Swift Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 3 уроков всего.
Зачем нужны исполняемые файлы SwiftPM?
SwiftPM может собирать исполняемые файлы, которые можно распространять.
- Инициализируйте пакет исполняемого файла
- Определите продукты и цели
- Добавьте зависимости с семантическими версиями
- Соберите релизную версию и найдите двоичный файл
Основы инициализации и сборки
Используйте swift package init --type executable, чтобы создать каркас. Затем выполните swift build и swift run для компиляции и запуска.
// In your terminal (for reference):
// swift package init --type executable
// Files created: Package.swift, Sources/<Target>/main.swift, Tests/
// You can then run:
// swift build
// swift run
print("SPM exec template ready")Структура main.swift
Цели исполняемых файлов начинаются с Sources/<Target>/main.swift. Делайте вывод CLI коротким и понятным.
// Sources/App/main.swift (example content)
let args = CommandLine.arguments.dropFirst()
if args.contains("--help") {
print("app 1.0.0\\nUsage: app [--help] [name]")
} else if let name = args.first {
print("Hello, \\(name)!")
} else {
print("Hello from app 1.0.0")
}Основы Package.swift
Основные элементы Package.swift:
- продукты: .executable(name:targets:)
- цели: папки с исходным кодом и зависимости
- зависимости: внешние пакеты, для которых используются семантические версии, например from: "1.2.0"
Пример продукта и зависимостей
Объявите продукт .executable и свяжите зависимости целей. Для стабильности фиксируйте внешние пакеты с помощью семантических версий.
// Package.swift (illustrative)
// import PackageDescription
// let package = Package(
// name: "App",
// platforms: [.macOS(.v12)],
// products: [
// .executable(name: "app", targets: ["App"]),
// ],
// dependencies: [
// // Example: argument parser (replace with real URL in your project)
// // .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0")
// ],
// targets: [
// .executableTarget(
// name: "App",
// dependencies: [
// // .product(name: "ArgumentParser", package: "swift-argument-parser")
// ]
// )
// ]
// )Релизная сборка и артефакт
Распространяйте файл из .build/release/<product>. Для распространения можно удалить отладочные символы и упаковать файл в ZIP-архив.
// Produce an optimized binary:
// swift build -c release
// Artifact path:
// .build/release/app (product name)
//
// Optional strip symbols (platform-specific tool) or zip:
// # macOS example (illustrative)
// # strip .build/release/app
// # zip app-macos.zip .build/release/app
print("Release binary lives in .build/release/")Расположение релизного артефакта
Быстрая проверка: где находится двоичный файл релизной сборки?
Итоги
Итоги: инициализируйте пакет executable, определите продукт в Package.swift, добавьте зависимости с семантическими версиями и распространяйте двоичный файл из .build/release.
Часто задаваемые вопросы
Урок «Упаковка двоичных файлов с помощью SPM» бесплатный?
Да — полный текст урока «Упаковка двоичных файлов с помощью SPM» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 3 уроков всего.
Чему я научусь в уроке «Упаковка двоичных файлов с помощью SPM»?
Инициализируйте пакет исполняемого файла, задайте product , добавьте зависимости и создайте двоичный файл release из .build/release , готовый к распространению. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Упаковка двоичных файлов с помощью SPM»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Скрипты Swift (shebang Swift) и инструменты командной строки
- Взаимодействие с C и Objective-C вкратце (без особенностей iOS)
- Упаковка двоичных файлов с помощью SPM