代码之家  ›  专栏  ›  技术社区  ›  executor21

cocoapods如何确定要在安装中保留哪些源文件?

  •  0
  • executor21  · 技术社区  · 8 年前

    作为示例,让我们使用 AdColony 视频广告平台。我把 pod 'AdColony' 进入我的 Podfile 运行后 pod install 我的 Pods 目录具有 AdColony 文件夹(并且Xcode项目被配置为能够使用它)。

    现在,该文件夹包含两项: AdColony.framework iOS框架和自述。md文件。正是你需要的,对吧?然而,潜水越深,事情就越神秘。

    这个 AdColony Cocoapods page 有一个 link 到Podspec。其中,我们有以下条目:

    "source": {
    "git": "https://github.com/AdColony/AdColony-iOS-SDK-3.git",
    "tag": "v3.2.1"
    }
    

    如果您转到github项目并标记,您将看到它包含pod的内容,但它还包含其他内容:a SampleApps 文件夹,a CHANGELOG.md 文件和一份W-9 PDF。这些都不会出现在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
    

    自己运行该命令(减去目标路径的随机字符串)会生成一个包含您在github页面上看到的所有内容的文件夹 示例应用程序 文件夹等。

    在此克隆过程和放置 AdColony公司 文件夹到我的项目的 豆荚 目录中,cocoapods删除了不必要的文件。

    这是什么时候发生的?

    cocoapods如何知道要删除哪些文件和保留哪些文件?

    这是否由开发人员控制?如果是,如何?

    是否有任何记录?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Dillon    8 年前

    它在椰子荚的引擎盖后面这样做。它所做的是从您的框架中获取podspec,podspec将定义必要的文件 minus SampleApp。

    试着去 podspec 并寻找 public_header , frameworks source_file (如果git包含任何源)。

    我建议您在本地工作区上创建一个示例pod,并使用它:)