Swift Package Manager 使用教程2020更新
Package Manager
Swift Package Manager是管理 Swift 代码分发的工具。它已经和Swift的build system进行了整合,能够自动下载、编译和链接依赖。
Package Manager目前支持Swift 3.0以上使用。
简介
1、Modules
Swift将代码整合到modules中。每一个module指定一个命名空间并且强制控制module外部可访问的内容。
一个程序可以把所有代码放在一个module中,也可以引用其他modules作为依赖。除了内置系统modules(macOS的Darwin,Linux的Glibc),大部分的依赖代码都是需要下载和编译后才能够使用。
当您为解决特定问题代码采用单独module组织时,这些被组织起来的代码就可以被其他情况复用。
2、Packages
一个package包含Swift文件和一个manifest文件。manifest文件被命名为Package.swift,该文件定了package的名称和使用PackageDescription module定义的内容。
一个package拥有一个或多个targets。每个target指定了一个product和可能声明一个或多个依赖。
3、Product
一个target可能构建一个库或者一个可执行文件作为product。一个库包含一个可被其他swift代码引用的module。一个可执行文件时是一个程序可以被运行在操作系统上。
4、Dependencies
一个target的依赖是在package中的代码所需的module
Demo
$ git clone https://github.com/apple/example-package-dealer.git
$ cd example-package-dealer
$ swift run Dealer
运行效果
遇到的问题
xcrun: error: unable to find utility "xctest", not a developer tool or in PATH
解决方法
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer