Wil*_*ken 7 swift swift3 swift-package-manager
Swift具有模块化代码,可以分类为模块.
但您可以使用Swift Package Manager来获取和安装模块.
"Swift包"和"Swift模块"之间有什么区别吗?我应该何时使用一个短语或另一个短语?
Dan*_*bar 17
Swift包是源代码的集合......您可以将其视为一个自包含的项目,它有自己的版本和存储库.Swift语言本身并不了解当前的包,它只是Swift包管理器使用的概念.
迅速包可以包含一个或多个模块夫特-每个夫特模块是什么语言知道,并且迅捷模块定义的事物,如访问控制(范围public,internal,private例如).Swift包还可以包含其他类型的目标或模块,例如它可以包含要构建到库中的C源代码体.
Swift包在某种意义上类似于Xcode项目,Swift模块类似于Xcode目标.
作为具体的例子https://github.com/apple/example-package-fisheryates
是夫特包(如所指由Package.swift在顶部电平),通过其URL标识,它包含有两个源的单个夫特模块:https:
//github.com/apple/example-package-fisheryates/tree/master/Sources.
\n\n模块: Swift 将代码组织成模块。每个模块都指定一个命名空间,并对可以在模块外部使用的代码部分实施访问控制。
\n\n程序可能将其所有代码都放在单个模块中,也可能\n 导入其他模块作为依赖项。除了少数系统提供的模块(例如 macOS 上的 Darwin 或 Linux 上的 Glibc)之外,大多数依赖项都需要下载并构建代码才能使用。
\n\n当您使用单独的模块来解决特定问题的代码时,该代码可以在其他情况下重用。例如,提供网络请求功能的模块可以在照片共享应用和天气应用之间共享。使用模块\n 可以让您在其他开发人员\xe2\x80\x99 代码之上进行构建,而不是\n 自己重新实现相同的功能。
\n\n包:包由 Swift 源文件和清单文件组成。名为 Package.swift 的清单文件使用 PackageDescription 模块定义\n package\xe2\x80\x99s 名称及其内容。
\n\n一个包有一个或多个目标。每个目标指定一个产品并\n 可以声明一个或多个依赖项。
\n