0Pricing
Swift Academy · Урок

Упаковка двоичных файлов с помощью 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 — локальная установка не требуется.

Все уроки этого курса

  1. Скрипты Swift (shebang Swift) и инструменты командной строки
  2. Взаимодействие с C и Objective-C вкратце (без особенностей iOS)
  3. Упаковка двоичных файлов с помощью SPM
← Назад к Swift Academy