CocoaPod

Install & update

sudo gem install cocoapods
顺便安装文档工具,则cocoapod会自动把文档整合进Xcode
brew install appledoc

search lib

  • Way 1: shell pod search XXX,拿到List, 每个库列出了名字、源码、版本等信息,其中有一行_ pod ‘XXX’, ‘~> 0.2.0’_,即为此库的标准PodInfo
  • Way 2: 官网https://cocoapods.org查找,界面上有按钮把Info Copy to clipborad

你看到的是非授权版本!爬虫凶猛,请尊重知识产权!

转载请注明出处:http://conanwhf.github.io/2015/09/20/CocoaPod/

访问原文「CocoaPod」获取最佳阅读体验并参与讨论

Integrate to a project

在新建一个Project,未作任何修改时做整合

  • 关闭project,打开终端(以下$PROJ表示项目目录)
  • 终端运行:
    cd $PROJ
    touch Podfile
    vi Podfile
    
    Podfile官方标准格式:

    platform :ios, ‘8.0’
    use_frameworks!
    target ‘MyApp’ do
    pod ‘XXX’, ‘> 2.0’
    ……
    end
    把需要的所有库的pod info加进do-end中,保存

    pod install
    
  • 之后的开发就要使用新生成的_.xcworkspace_文件
  • 如果安装的库需要Xcode自带的依赖库,手动在Project config里面安装

Remove/Add more lib

找到需要的库,按规范修改Podfile(删除或添加行),再
pod update –no-repo-update
CocoaPods在install和update 时,会默认先更新一次 podspec 索引, 使用 –no-repo-update 参数可以使其做索引更新操作

Remove all

  1. 终端:rm -rf Podfile Podfile.lock Pods *.xcworkspace
  2. Xcode中打开Project,删除项目中的libpods.a和Pods.xcconfig引用
  3. Build Phases选项,删除”Check Pods Manifest.lock”和”Copy Pods Resources”

Podfile.lock

  • Podfile.lock 会锁定当前各依赖库的版本,之后如果多次执行 pod install不会更改版本,要pod update才会改 Podfile.lock
  • 为了避免多人协作的时候,第三方库升级时造成大家各自的第三方库版本不一致,不要把这个文件加入到 .gitignore 中

原理

将所有的依赖库都放到另一个名为Pods项目中,然后让主项目依赖Pods项目

  • Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可
  • 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
  • CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和参数。