Импорт модулей и основы семантического версионирования
Научитесь импортировать внешние модули, объявлять зависимости в Package.swift и управлять ими по правилам семантического версионирования.
«Импорт модулей и основы семантического версионирования» — бесплатный урок Swift Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 3 уроков всего.
Обзор
В этом уроке показывается, как импортировать модули, объявлять зависимости и использовать правила семантического версионирования в SwiftPM.
Основы импорта
Используйте импорт, чтобы подключать стандартные модули или модули пакетов для использования в коде.
// Example main.swift
import Foundation // standard module
import MyLib // custom module from Sources or dependency
print("Modules imported!")Объявление зависимости
В Package.swift перечисляйте внешние зависимости с помощью .package(...) и правила версионирования.
// Package.swift snippet
dependencies: [
.package(url: "https://github.com/apple/example-package-dealer.git",
from: "1.2.0")
]upToNextMajor
upToNextMajor разрешает обновления до следующей основной версии. Это обеспечивает обратную совместимость и предотвращает несовместимые изменения.
// Accept >=1.2.0 but <2.0.0
.package(url: "https://github.com/apple/example.git",
.upToNextMajor(from: "1.2.0"))Другие правила
Другие правила: .exact фиксирует одну версию; .upToNextMinor разрешает безопасные обновления в пределах серии минорной версии.
// Exact version
.package(url: "url", .exact("1.2.3"))
// Up to next minor
.package(url: "url", .upToNextMinor(from: "1.2.0"))Продукты и импорты
Цели необходимо предоставить как продукты, чтобы их могли импортировать другие пакеты или исполняемые файлы.
// Package.swift
products: [
.library(name: "MyLib", targets: ["MyLib"]),
.executable(name: "Tool", targets: ["Tool"])
]
// Code
import MyLib
print(MyLib.someFunc())Правило версионирования
Быстрая проверка: что означает .upToNextMajor(from: "1.2.0")?
Повторение
Повторение: используйте импорт для доступа к модулям, объявляйте зависимости в Package.swift и управляйте обновлениями с помощью правил семантического версионирования, таких как upToNextMajor.
Часто задаваемые вопросы
Урок «Импорт модулей и основы семантического версионирования» бесплатный?
Да — полный текст урока «Импорт модулей и основы семантического версионирования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 3 уроков всего.
Чему я научусь в уроке «Импорт модулей и основы семантического версионирования»?
Научитесь импортировать внешние модули, объявлять зависимости в Package.swift и управлять ими по правилам семантического версионирования. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Импорт модулей и основы семантического версионирования»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы Swift Package Manager
- Структура, продукты, сборка/тестирование/запуск
- Импорт модулей и основы семантического версионирования