您的位置:首页 > 移动开发 > IOS开发

CocoaPods简介及最新详细使用

2016-01-13 11:57 477 查看

一、简介

  每一种语言发展到一定阶段,都会出现相应的依赖管理工具,而CocoaPods就是iOS项目的依赖管理工具,类似与Java语言的Maven。CocoaPods的出现使得我们节省了很多设置和更新第三方开源库的时间。

二、为什么要使用CocoaPods

如上所述:CocoaPods可以帮助我们节省很多设置和更新第三方开源库的时间。

  在使用CocoaPods以前,我们需要:

  1、把第三方开源库的源代码文件复制到项目中。

  2、这些开源库通常需要依赖系统的一些framework,我们需要手工的将这些framework意义增加到项目依赖中。

  3、对于某些开源库,我们还需要设置-licucore或者-fno-objc-arc等编译参数。

  4、管理这些依赖包的更新。

  这些“体力活”虽然简单,但毫无技术含量并且浪费时间。使用CocoaPods之后,它可以更好的帮我们完成这些事情。

三、安装CocoaPods

下载安装CocoaPods需要Ruby环境。Mac OS本身自带Ruby,但还是更新一下Ruby。

1、查看当前ruby版本(终端输入)

  $ ruby -v

2、更新gem

  $sudo gem update –system

3、更新ruby的源步骤

  A、移除现有Ruby默认源:

  $gem sources –remove https://rubygems.org/

  B、使用新的源:

  $gem sources -a https://ruby.taobao.org/

  C、验证新源是否替换成功:

  $gem sources -l

4、安装CocoaPods

  $sudo gem install cocoapods

  $pod setup

  备注:苹果系统升级OS X EL Capitan后改为$sudo gem install -n /usr/local/bin cocoapods

四、使用CocoaPods集成三方库

1、创建项目、终端cd到项目总目录

  A、新建一个项目

  


  B、终端下cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)

  

2、vim建立Podfile(配置文件)

  A、终端输入 vim Podfile(接着上一步,是在项目总目录下创建的)

  


  B、进入编辑模式

  输入 i,进入编辑模式。

  输入

  platform :ios, ‘7.0’

  pod ‘MBProgressHUD’, ‘~> 0.8’

  pod ‘AFNetworking’, ‘~> 2.0’

  C、保存退出

  按Esc –> 输入大写ZZ

  

发现PodTest项目总目录中多一个Podfile文件

3、导入第三方库

  A、确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。出现如下图的结果说明集成成功。

  


  B、对于工程发生的变化,有几点需要说明:

    a、使用CocoaPods生成的*.xcworkspace文件来打开工程,而不是以前的.xcodeproj文件。

    b、每次更改了Podfile文件,都要重新执行一次 pod update 命令。

五、查找三方库

  终端输入命令:pod search masonry

  


六、补充

1、修改Podfile文件

  A、vim中修改Podfile文件

  参考上面vim建立Podfile(配置文件)

  B、在Xcode中编辑Podfile

  


  注意:每次更改了Podfile文件,都要重新执行一次 pod update 命令。

2、配置Podfile文件支持多个Target

  项目存在多个Target的时候,需要配置Podfile文件来支持新增加的Target,否则只支持项目默认建立时生成的Target:

  A、两个Target所需要的第三方库相同

link_with 'Target1', 'Target2'
platform :ios
platform :ios, ‘9.0’
pod 'AFNetworking', '~> 2.0'


  B、两个Target所需要的第三方库不相同

platform :ios
target :'Target1' do
pod 'Reachability'
pod 'SBJson'
pod 'AFNetworking'
end

target :'Target2' do
pod 'OpenUDID'
end


3、移除项目中的Cocoapods

  A. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹

  B. 删除xcworkspace文件

  C. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用

  D. 在工程设置中的Build Phases下删除Check Pods Manifest.lock、Embed Pod Frameworks及Copy Pods Resources



4、当库正常导入,但还是找不到相关头文件

  在TARGETS -> Build Settings -> Search Paths -> User Header Search Paths 中,写入 ${SRCROOT}再将后面参数改为recursive



5、Unable to satisfy the following requirements:

  错误:

[!] Unable to satisfy the following requirements:

- `Masonry` required by `Podfile`

Specs satisfying the `Masonry` dependency were found, but they required a higher minimum deployment target.


  解决方案:安装流程:Podfile文件 中 platform:ios, ‘6.0’ 后边的 6.0 是平台版本号 ,一定要加上

相关阅读:

《iOS开发进阶》 唐巧 著

iOS开发~CocoaPods使用详细说明
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS开发 CocoaPods 管理