cocoapods 如何确定源中的哪些文件要保留在安装中?
How does cocoapods determine which files from source to keep in installation?
例如,让我们使用 AdColony 视频广告平台。我将 pod 'AdColony'
放入我的 Podfile
并在 运行 宁 pod install
之后,我的 Pods
目录中有一个 AdColony
文件夹(并且 Xcode 项目被配置为能够使用它)。
现在,该文件夹包含两个项目:AdColony.framework
iOS 框架和一个 README.md 文件。正是您所需要的,对吧?然而,当深入一点时,事情变得神秘起来。
AdColony Cocoapods page has a link 到 Podspec。其中,我们有以下条目:
"source": {
"git": "https://github.com/AdColony/AdColony-iOS-SDK-3.git",
"tag": "v3.2.1"
}
如果你去 github 项目和标签,你会看到它有 pod 的内容,但它还有其他东西:一个 SampleApps
文件夹,一个 CHANGELOG.md
文件和 W-9 PDF。 None 个出现在 Pods 目录中。
如果您不仅从项目中删除 pod,而且从计算机的缓存中删除 pod,并且 运行 pod install --verbose
,您将在控制台中看到 git 命令。它看起来像这样:
/usr/bin/git clone https://github.com/AdColony/AdColony-iOS-SDK-3.git
/var/folders/jp/lm8trz8d7nl1pf4_mh690dvr0000gn/T/d20180112-57517-1j1p7dc
--template= --single-branch --depth 1 --branch v3.2.1
运行 自己命令(减去目标路径的随机字符串)生成一个文件夹,其中包含您在 git 中心页面上看到的所有内容--- SampleApps
文件夹,等等
在这个克隆过程和将 AdColony
文件夹放入我项目的 Pods
目录之间的某个地方,cocoapods 删除了不需要的文件。
这是什么时候发生的?
cocoapods 如何知道要删除和保留哪些文件?
这是开发者可以控制的吗?如果可以,怎么做?
是否记录了这些内容?
它在 Cocoapods 的幕后工作。它的作用是从您的框架中获取 podspec - podspec 将定义必要的文件 minus
SampleApp。
尝试转到 podspec 并查找 public_header
、frameworks
或 source_file
(如果 git 包含任何来源)。
我强烈建议您在本地工作区创建一个示例 pod 并试用它:)
例如,让我们使用 AdColony 视频广告平台。我将 pod 'AdColony'
放入我的 Podfile
并在 运行 宁 pod install
之后,我的 Pods
目录中有一个 AdColony
文件夹(并且 Xcode 项目被配置为能够使用它)。
现在,该文件夹包含两个项目:AdColony.framework
iOS 框架和一个 README.md 文件。正是您所需要的,对吧?然而,当深入一点时,事情变得神秘起来。
AdColony Cocoapods page has a link 到 Podspec。其中,我们有以下条目:
"source": {
"git": "https://github.com/AdColony/AdColony-iOS-SDK-3.git",
"tag": "v3.2.1"
}
如果你去 github 项目和标签,你会看到它有 pod 的内容,但它还有其他东西:一个 SampleApps
文件夹,一个 CHANGELOG.md
文件和 W-9 PDF。 None 个出现在 Pods 目录中。
如果您不仅从项目中删除 pod,而且从计算机的缓存中删除 pod,并且 运行 pod install --verbose
,您将在控制台中看到 git 命令。它看起来像这样:
/usr/bin/git clone https://github.com/AdColony/AdColony-iOS-SDK-3.git
/var/folders/jp/lm8trz8d7nl1pf4_mh690dvr0000gn/T/d20180112-57517-1j1p7dc
--template= --single-branch --depth 1 --branch v3.2.1
运行 自己命令(减去目标路径的随机字符串)生成一个文件夹,其中包含您在 git 中心页面上看到的所有内容--- SampleApps
文件夹,等等
在这个克隆过程和将 AdColony
文件夹放入我项目的 Pods
目录之间的某个地方,cocoapods 删除了不需要的文件。
这是什么时候发生的?
cocoapods 如何知道要删除和保留哪些文件?
这是开发者可以控制的吗?如果可以,怎么做?
是否记录了这些内容?
它在 Cocoapods 的幕后工作。它的作用是从您的框架中获取 podspec - podspec 将定义必要的文件 minus
SampleApp。
尝试转到 podspec 并查找 public_header
、frameworks
或 source_file
(如果 git 包含任何来源)。
我强烈建议您在本地工作区创建一个示例 pod 并试用它:)