0Pricing
Swift Academy · Урок

Структура, продукты, сборка/тестирование/запуск

Изучите структуру SwiftPM (Sources/ и Tests/), продукты (исполняемые файлы и библиотеки), а также сборку, тестирование и запуск с помощью CLI.

«Структура, продукты, сборка/тестирование/запуск» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 3 уроков всего.

Обзор

В этом уроке показывается структура SwiftPM, объясняется, как продукты сопоставляются с целями, и рассматривается CLI для сборки, тестирования и запуска.

Структура каталогов

SwiftPM ожидает каталоги Sources/ и Tests/. У каждой цели есть собственный каталог.

let tree = """
MyPkg/
├─ Package.swift
├─ Sources/
│  ├─ MyLib/            // library target sources
│  │  └─ MyLib.swift
│  └─ MyApp/            // executable target sources (main.swift)
│     └─ main.swift
└─ Tests/
   ├─ MyLibTests/
   │  └─ MyLibTests.swift
   └─ MyAppTests/
      └─ MyAppTests.swift
"""
print(tree)

Продукты и цели

Продукты предоставляют цели: библиотеки для повторного использования, исполняемые файлы для приложений и CLI. Тесты находятся в testTarget.

let manifest = """
// Package.swift (illustrative)
import PackageDescription
let package = Package(
  name: "MyPkg",
  products: [
    .library(name: "MyLib", targets: ["MyLib"]),
    .executable(name: "MyApp", targets: ["MyApp"])
  ],
  targets: [
    .target(name: "MyLib"),
    .executableTarget(name: "MyApp", dependencies: ["MyLib"]),
    .testTarget(name: "MyLibTests", dependencies: ["MyLib"])
  ]
)
"""
print(manifest)

Библиотека и исполняемый файл

Библиотека предоставляет программные интерфейсы; исполняемый файл содержит точку входа main.swift и может зависеть от библиотеки.

// Library code (Sources/MyLib/MyLib.swift)
public struct Greeter {
    public init() {}
    public func hello(_ name: String) -> String { "Hello, \\(name)" }
}

// Executable entry (Sources/MyApp/main.swift)
let g = Greeter()
print(g.hello("World"))

Основы CLI

Используйте CLI: команду swift для сборки, команду swift для запуска <исполняемого файла> и команду swift для тестирования. Добавьте -c release для оптимизированных сборок.

let cmds = """
# Build (debug by default)
swift build

# Run an executable product
swift run MyApp

# Execute tests (XCTest)
swift test

# Release build (optimized)
swift build -c release
"""
print(cmds)

Результаты и советы

Результаты находятся в .build/. Делайте цели специализированными и размещайте тесты в Tests/<Target>Tests.

let notes = """
Artifacts live under .build/:
  • debug/ and release/ contain compiled products
  • x86_64-apple-macosx / arm64-apple-* vary by platform/arch
Tips:
  • Keep one target per responsibility
  • Name products simply; match target folders
  • Put tests in Tests/<TargetName>Tests
"""
print(notes)

Запуск тестов

Быстрая проверка: какая команда запускает тесты?

Повторение

Повторение: используйте стандартную структуру Sources/ и Tests/, сопоставляйте цели с продуктами и работайте с командами swift для сборки, swift для запуска и swift для тестирования.

Часто задаваемые вопросы

Урок «Структура, продукты, сборка/тестирование/запуск» бесплатный?

Да — полный текст урока «Структура, продукты, сборка/тестирование/запуск» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 3 уроков всего.

Чему я научусь в уроке «Структура, продукты, сборка/тестирование/запуск»?

Изучите структуру SwiftPM (Sources/ и Tests/), продукты (исполняемые файлы и библиотеки), а также сборку, тестирование и запуск с помощью CLI. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.

Сколько времени занимает урок «Структура, продукты, сборка/тестирование/запуск»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Основы Swift Package Manager
  2. Структура, продукты, сборка/тестирование/запуск
  3. Импорт модулей и основы семантического версионирования
← Назад к Swift Academy