LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭

cocoapods

1619浏览    20参与
Nil
沉默的石头

CocoaPods安装与使用

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

好处:

1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。

2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。


一、升级Ruby环境

安装需要用到Ruby,虽然Mac自带了Ruby,不过版本有点老了...

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

好处:

1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。

2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。


一、升级Ruby环境

安装需要用到Ruby,虽然Mac自带了Ruby,不过版本有点老了,最好更新一下:

sudo gem update --system

此时会出现:


没权限升级Ruby的提示。

这是因为你没有权限去升级Ruby,这时应该输入:

$ sudo gem update--system

此时会出现:


输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。 等一会如果出现:


升级Ruby成功。

二、更换Ruby镜像

首先移除现有的Ruby镜像:

终端输入:$ gem sources --remove https://rubygems.org/

然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了):

终端输入:$ gem sources -a https://gems.ruby-china.org/

(注意:如果报error的话把org改为com)

执行完毕之后输入gem sources -l来查看当前镜像:

终端输入:$ gem sources -l

如果结果是 *** CURRENT SOURCES *** https://gems.ruby-china.org/ 说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/来添加。

三、安装CocoaPods

接下来开始安装:

终端输入:$ sudo gem install cocoapods

如果出现这个:


安装错误提示,说明没有权限,需要输入:

$ sudo gem install -n /usr/local/bin cocoapods

安装成功如下:


安装成功。

然后再执行pod setup(这个过程比较漫长,要有耐心):

$ pod setup

然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。 你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M, 当出现Setup completed的时候说明已经完成了。

四、CocoaPods的使用

1、首先我们来搜索一下三方库:

终端输入:$ pod search AFNetworking

搜索结果如下:


出现这个了就说明搜索成功了,看一下上图中的这一句: pod 'AFNetworking', '~> 3.1.0' 这句话一会我们要用到,这是CocoaPods添加三方库的关键字段 然后退出这个界面,直接按"q"就退出去了。

2、在工程中创建一个Podfile文件

要想在你的工程中创建Podfile文件,必须先要进到该工程目录下:

终端输入:$ cd /Users/zj/Desktop/CocoaPodsTest

(直接拖拽项目)

进来之后就创建:

终端输入:$ touch Podfile

然后你在你的工程目录下可以看到多了一个Podfile文件.

3、编辑你想导入的第三方库的名称及版本

使用vim编辑Podfile文件:

终端输入:$ vim Podfile

进入如下界面:


编辑Podfile文件:

进来之后紧接着按键盘上的英文'i'键 下面的"Podsfile" 0L, 0C将变成-- INSERT -- 然后就可以编辑文字了,输入以下文字:

platform :ios, '7.0'

target 'MyApp'do

pod 'AFNetworking', '~> 3.1.0'

end

(解释一下 platform :ios, '7.0'代表当前AFNetworking支持的iOS最低版本是iOS 7.0, 'MyApp'就是你自己的工程名字, pod 'AFNetworking', '~> 3.1.0'代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的'~> 3.1.0',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版。)

编辑完之后成如下样子:


编辑完成。

此时该退出去了,怎么退出去呢?跟着我做,先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。

这时候,你会发现你的项目目录中名字为Podfile的文件的内容就是你刚刚输入的内容。

4、把该库下载到Xcode中

终端输入:$ pod install

这就开始下载了,需要一段时间,出现如下界面就说明安装好了:


安装成功。

这个时候关闭所有的Xcode窗口,再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。


工程目录。

以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。 进入工程后引入头文件不再是#import "AFNetworking.h",而是#import <AFNetworking.h>

5、移除第三方库

删除某个库,先在podfile文件中删除 pod 'JSONKit',然后在执行更新命令,如图:

pod update --no-repo-update


删除完成。

6、添加第三方库

终端输入 $ cd /Users/zj/Desktop/CocoaPodsTest(直接拖拽)

终端输入 vim Podfile,

然后输入“i”开始编辑:pod “JSONKit”

然后esc,输入:wq保存,

终端输入 pod install。安装完成。

安装更新。

spume - code

用 CocoaPods 安装 LeanCloud SDK

- 适用于 swift

- 官方文档 https://leancloud.cn/docs/sdk_setup-swift.html

说明:

    CocoaPods 是 iOS 开发中最常用的第三方类库管理工具

    LeanCloud 是目前国内非常不错的一站式解决方案,包括:数据存储、用户管理、消息推送、应用统计、社交分享、实时聊天等服务


安装 CocoaPods :

    安装 CocoaPods 需要 Ruby 运行环境的支持,好在 Mac 自带...

- 适用于 swift

- 官方文档 https://leancloud.cn/docs/sdk_setup-swift.html

说明:

    CocoaPods 是 iOS 开发中最常用的第三方类库管理工具

    LeanCloud 是目前国内非常不错的一站式解决方案,包括:数据存储、用户管理、消息推送、应用统计、社交分享、实时聊天等服务


安装 CocoaPods :

    安装 CocoaPods 需要 Ruby 运行环境的支持,好在 Mac 自带 Ruby,但是版本太低,不符合 CocoaPods 的安装要求,所以我先升级 Ruby 。

1、安装 RVM(用 RVM 来更新 Ruby)

    终端:curl -L get.rvm.io | bash -s stable

    终端:source ~/.bashrc  

    终端:source ~/.bash_profile 


    测试是否安装正常

    终端:rvm -v


    查看当前ruby版本  

    终端:ruby -v 


    列出已知的ruby版本  

    终端:rvm list known

     

    安装ruby 2.3  

    终端:rvm install 2.3

    

    最后查看是否安装成功

    终端:ruby -v 


2、安装 CocoaPods

    由于主站在国外,所以先更换为淘宝镜像

    终端:gem sources --remove https://rubygems.org/

    终端:gem sources -a https://ruby.taobao.org/

    

    查看是否成功

    终端:gem sources -l

    *** CURRENT SOURCES ***

    https://ruby.taobao.org


    安装 CocoaPods

    终端:sudo gem install cocoapods

    等几分钟就安装好了


安装 LeanCloud SDK :

    在项目根目录下创建一个名为 Podfile 的文件(无扩展名),并按需添加以下内容:

    use_frameworks! # LeanCloud Swift SDK can only be integrated as framework.


    target '项目名称' do

    pod 'LeanCloud', :git => 'git@github.com:leancloud/swift-sdk.git', :tag => '0.0.1.beta'

    end


    对项目点右键,选择 Open with External Editor ,然后在打开的终端中 cd .. 到项目根目录

    执行命令 pod install --verbose 安装 SDK。如果本地安装过最新版本的 SDK,则可执行 pod install --verbose --no-repo-update 来加快安装速度

冰镇柠檬茶

Cocoapods安装

使用第三方服务,我们可以使用自动配置,这里就要使用到Cocoapods。CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。

如果需要升级ruby,使用homebrew安装:brew install ruby

另外一种方法升级ruby: sudo gem update --system 

安装Cocoapods教程:

gem sources -...

使用第三方服务,我们可以使用自动配置,这里就要使用到Cocoapods。CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。

如果需要升级ruby,使用homebrew安装:brew install ruby

另外一种方法升级ruby: sudo gem update --system 

安装Cocoapods教程:

gem sources -l

gem sources --remove https://rubygems.org/

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

gem sources -l

sudo gem install -n /usr/local/bin cocoapods

pod setup


创建Podfile:

cd /project

touch Podfile

或者直接cd到工程目录,然后pod init ,在Podfile里直接添加也行。

编辑Podfile文件:

source 'https://github.com/CocoaPods/Specs.git'

platform:ios,'7.0' #手机系统#

pod 'AMap3DMap' #3D地图SDK

pod 'AMap2DMap' #2D地图SDK(2D和3D不能同时使用)

pod 'AMapSearch' #搜索服务SDK

以下是额外补充

#platform :ios  

#pod 'Reachability',  '~> 3.0.0'  

#pod 'SBJson', '~> 4.0.0'  

#platform :ios, '7.0'  

#pod 'AFNetworking', '~> 2.0'  

=====================================

标准格式:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '9.0'

use_frameworks!

target 'AlamofireDemo' do

pod 'Alamofire'

pod 'SwiftyJSON'

end

=====================================


然后到工程目录,输入命令pod  install,如果出现-bash: pod: command not found,输入sudo gem install -n /usr/local/bin cocoapods即可解决。

如果如果pod update / pod install 卡在:Updating local specs repositories,

等待即可,或者可以使用 “pod install --verbose --no-repo-update” 进行下载。

更新:如果你又添加新的三方库,可以在Podfile文件中继续添加,然后再终端输入pod update,然后CocoaPods就会重新帮你导入.

参考图片:







然后通过打开xcworkspace文件打开安装有cocoapods的工程


Squirrel

关于iOS import导入pod第三方库不提示问题解决方案

pod 导入第三方库后,使用import 不提示第三方库头文件。

解决办法:

选择target -> BuildSettings -> search Paths 下的 User Header Search Paths, 添加 $(PODS_ROOT)


pod 导入第三方库后,使用import 不提示第三方库头文件。

解决办法:

选择target -> BuildSettings -> search Paths 下的 User Header Search Paths, 添加 $(PODS_ROOT)


@"Hugo";

cocoapods 报错

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=No+such+file+or+directory+-+%2FUsers%2Fquan%2FDesktop%2F%E8%AF%BE%E5%A0%82%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD%2F8+-+%E7%BD%91%E6%98%93%E6%96%B0%E9%97%BB%2F%E4%BB%A3%E7%A0%81%2F02-04%E7%BD%91%E6%98%93%E6%96%B0%E9%97%BB%EF%BC%88%E8%BD%AE%E6%92%AD%E5%99%A8%EF%BC%89%2FPods%2FHeaders%2FPrivate%2FAFNetworking%2FAFHTTPRequestOperation.h&type=Issues

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new 

Be sure to first read the contributing guide for details on how to properly submit a ticket:

https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don‘t forget to anonymize any private data!

//报错环境:编译前段时间使用CocoaPods管理的一个工程,发现报错说找不到第三方框架,纳尼!于是果断更新下,报了一个更让我莫名其妙的错,折腾了近2个小时后,网上的各种方法已经试遍了..最后忘记在哪看到的,说是CocoaPods的版本兼容问题,目前版本在Github上找不到仓库地址,后来查看了下当时项目的版本号是(0.38.1),而现在版本号是(0.38.2)

解决方法:

$ sudo gem uninstall cocoapods   (卸载当前的CocoaPods)

$ sudo gem install cocoapods -v 0.38.1  (安装0.38.1版本的CocoaPods)

然后编译通过~


Squirrel

如何配置cocoapods,以及配置cocoapods之前所做的准备

    最近新入手了一台新苹果笔记本电脑,然后就兴高采烈的装上的iOS开发所必须的开发工具xcode(可以去http://developer.apple.com/xcode/下载此开发工具)。

    那么新买来的电脑,众所周知,是什么配置环境都没有的,那么做苹果开发的都知道cocoapods,那么如何配置cocoapods呢?接下来就是我们说的重点。

    步骤如下:

    以下代码区域,带有 $ 打头的...

    最近新入手了一台新苹果笔记本电脑,然后就兴高采烈的装上的iOS开发所必须的开发工具xcode(可以去http://developer.apple.com/xcode/下载此开发工具)。

    那么新买来的电脑,众所周知,是什么配置环境都没有的,那么做苹果开发的都知道cocoapods,那么如何配置cocoapods呢?接下来就是我们说的重点。

    步骤如下:

    以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号)

    步骤0 - 安装 RVM

    RVM 是干什么的暂不做解释,后面你将会慢慢搞明白。

        $ curl -L https://get.rvm.io | bash -s stable

    期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。

    然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)

        $ source ~/.rvm/scripts/rvm

    检查一下是否安装正确

        $ rvm -v

    输出的格式如下:

        rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

    如果走到这一步,你的终端显示的结果和这个类似的话,就说明已经安装成功了,那么接下来就是用RVM安装Ruby环境了。

步骤1 - 用 RVM 安装 Ruby 环境

    通过以下的命令列出已知的ruby版本

        $ rvm list known

    可以选择现有的rvm版本来进行安装(下面以rvm 2.1.4版本的安装为例)

        $ rvm install 2.1.4

    这时候,等待漫长的下载。

    另附:

    查询已经安装的ruby

      $ rvm list

    卸载一个已安装版本 

          $ rvm remove 1.9.2

步骤2 - 设置 Ruby 版本

    RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本        

          $ rvm 2.1.4 --default

    同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本

    这个时候你可以测试是否正确

          $ ruby -v    

          ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin15.0]

          $ gem -v            

          2.4.8

    这有可能是因为Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:     

           $gem source -r https://rubygems.org/    

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

    要想验证是否替换成功了,可以执行:

            $ gem sources -l  

    

    正常的输出结果:

      CURRENT SOURCES            

      http://ruby.taobao.org/            

    到这里就已经把Ruby环境成功的安装到了Mac OS X上,接下来就可以进行相应的开发使用了。

步骤3 - 下面就是安装CocoaPods

    输入以下命令

            $  sudo gem install cocoapods

    如果需要密码,直接填写电脑密码

    这里须注意,如果版本号太高,可能下载安装类库的时候出错:

    pods  Failed to send stats:  SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert handshake failure

如果出错,则要降低CocoaPods的版本号,不能直接降低,只能先卸载,后安装低版本的CocoaPods

       先用命令卸载当前版本:

            $ sudo gem uninstall cocoapods

         然后安装低版本:

            $ sudo gem install cocoapods -v 0.37

到这里cocoapods就已经安装完成了。   


 

接下来来演示如何引入第三方库。

   (0) 如果要用CocoaPods,引用第三方类库AFNetworking,可以用命令:

       $ pod search AFNetworking //查看该类库的版本号以及该类库是否存在,如果存在如下图:


    (1) 如果类库存在,我们新建一个工程项目,这里叫PodTest,然后cd(进入工程目录,cd后面的是工程的路径) 到这个工程目录下:

      用命令pod init在目录下创建一个文件Podfile

    系统会帮助我们创建一个Podfile,然后打开Podfile写入我们要导入的框架。

然后在终端输入命令安装相应的第三方类库

        $ pod install   或

        $ pod update

因为这个过程需要下载相应的类库,所以时间和网速有关。

完成了之后会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

如果出现你的工程里面已经有podfile文件,需要向工程里面添加新的第三方库,你可以在vim podfile编辑之后执行如下命令

         $ pod install --verbose --no-repo-update   或

         pod update --verbose --no-repo-update

最后附上cocoaChina 上的一篇更加详细的文章。

http://www.cocoachina.com/industry/20140623/8917.html

Object-C

cocoapods的基本使用

cocoapods 是第三方库的管理工具,需要的是纯文本,不能含有文本样式

文件名 :在终端下,vim Podfile

tips:打开时使用xcworkspace

安装cocoapods:

1.查看终端是否支持cocoapods:   ruby -v

2.移除rubygems  的url:  gem sources --remove https://rubygems.org/

3.添加淘宝的url:  gem sources -a https://ruby.taobao.org/ 

4.查看输入是否正...

cocoapods 是第三方库的管理工具,需要的是纯文本,不能含有文本样式

文件名 :在终端下,vim Podfile

tips:打开时使用xcworkspace

安装cocoapods:

1.查看终端是否支持cocoapods:   ruby -v

2.移除rubygems  的url:  gem sources --remove https://rubygems.org/

3.添加淘宝的url:  gem sources -a https://ruby.taobao.org/ 

4.查看输入是否正确: gem sources -l


搜索第三方库:

1.通过官网:https://cocoapods.org

2.通过终端:pod search 'Baidu'


更新\安装

记得更新时,在终端下,先通过cd命令,将目录切换到当前工程   然后pod install


工程打开方式

选择  .xcworkspace打开工程

拾忆

CocoaPods使用

1:安装cocoapods

$ sudo gem install cocoapods

1.1:安装失败?

$ gem sources -l        //查看源

$ gem sources --remove https://rubygems.org //删除外国的源,因为很有可能被墙了

$ gem sources -a http://ruby.taobao.org/ //庆幸大淘宝里面有镜像

经过以上步骤再次执行步骤1-安装cocoapods

2.导入第三方...

1:安装cocoapods

$ sudo gem install cocoapods

1.1:安装失败?

$ gem sources -l        //查看源

$ gem sources --remove https://rubygems.org //删除外国的源,因为很有可能被墙了

$ gem sources -a http://ruby.taobao.org/ //庆幸大淘宝里面有镜像

经过以上步骤再次执行步骤1-安装cocoapods

2.导入第三方库 (前提是你已经完成步骤1)

2.1导入之前请先查找cocoapods有没有该库

$ pod search AFNetworking

如果没有错误或者没有AFNetworking相关信息显示则代表cocoapods不支持。

2.2编辑Podfile配置文件

2.2.1 vim Podfile

2.2.2 platform :ios, '7.0'pod "AFNetworking", "~> 2.0"

2.2.3 :wq保存退出


2.3 根据Podfile配置文件导入第三方库

$ pod install

搞定~

如果遇到版本过低的,则更新

$ pod update

冰镇柠檬茶

OS X 10.11无法安装cocoapods的解决办法

前两天在给OS X 10.11 安装cocoapods时,命令行总是提示"Operation not permitted",我不管是用root用户安装还是查阅网上过去的资料都安装不了cocoapods,开始怀疑是我之前系统的环境变量配置也许出问题了,然后重新安装了OS X 10.11系统,然后并没有什么卵用,最后觉得可能是系统问题,就安装回了OS X 10.10.3 ,果然就安装好了cocoapods,今天在github上也找到了另外一个可能解决OS X 10.11无法安装cocoapods的办法:

[图片]
希望我写的这篇博客能对你有所帮助:-)

前两天在给OS X 10.11 安装cocoapods时,命令行总是提示"Operation not permitted",我不管是用root用户安装还是查阅网上过去的资料都安装不了cocoapods,开始怀疑是我之前系统的环境变量配置也许出问题了,然后重新安装了OS X 10.11系统,然后并没有什么卵用,最后觉得可能是系统问题,就安装回了OS X 10.10.3 ,果然就安装好了cocoapods,今天在github上也找到了另外一个可能解决OS X 10.11无法安装cocoapods的办法:


希望我写的这篇博客能对你有所帮助:-)

Kikidesign

iOS导航和2D地图产生冲突

高德地图2D和3D同时使用会存在冲突,而导航使用的是3D地图,因此需要去除2D地图,手动的配置方法就不说了,这里记录的是使用CocoaPods时需要在Podfile里做相应配置

platform :ios, '7.0' #手机的系统

#pod 'AMap3DMap'  #3D地图SDK

pod 'AMapNavi' #导航SDK

pod 'AMapSearch' #搜索服务SDK


高德地图2D和3D同时使用会存在冲突,而导航使用的是3D地图,因此需要去除2D地图,手动的配置方法就不说了,这里记录的是使用CocoaPods时需要在Podfile里做相应配置

platform :ios, '7.0' #手机的系统

#pod 'AMap3DMap'  #3D地图SDK

pod 'AMapNavi' #导航SDK

pod 'AMapSearch' #搜索服务SDK


lightingbolt

IOS的第三方依赖管理工具CocoaPods详解(转)

文档更新说明

  • 2012-12-02 v1.0 初稿
  • 2014-01-08 v1.1 增加设置ruby淘宝源相关内容
  • 2014-05-25 v2.0 增加国内spec镜像、使用私有pod、podfile.lock、创建spec文件等内容
CocoaPods简介

每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods

CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为...

文档更新说明

  • 2012-12-02 v1.0 初稿
  • 2014-01-08 v1.1 增加设置ruby淘宝源相关内容
  • 2014-05-25 v2.0 增加国内spec镜像、使用私有pod、podfile.lock、创建spec文件等内容
CocoaPods简介

每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods

CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

在我开发猿题库客户端时,其使用了24个第三方开源库。在没有使用CocoaPods以前,我需要:

  1. 把这些第三方开源库的源代码文件复制到项目中,或者设置成git的submodule。
  2. 对于这些开源库通常需要依赖系统的一些framework,我需要手工地将这些framework一一增加到项目依赖中,比如通常情况下,一个网络库就需要增加以下framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics, zlib。
  3. 对于某些开源库,我还需要设置-licucore或者 -fno-objc-arc等编译参数
  4. 管理这些依赖包的更新。

这些体力活虽然简单,但毫无技术含量并且浪费时间。在使用CocoaPods之后,我只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行pod install。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。

CocoaPods的安装和使用介绍安装

安装方式异常简单, Mac下都自带ruby,使用ruby的gem命令即可下载安装:

1 2 $ sudo gem install cocoapods $ pod setup

如果你的gem太老,可能也会有问题,可以尝试用如下命令升级gem:

1 sudo gem update --system

另外,ruby的软件源rubygems.org因为使用的亚马逊的云服务,所以被墙了,需要更新一下ruby的源,如下代码将官方的ruby源替换成国内淘宝的源:

1 2 3 gem sources --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem sources -l

还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是Cocoapods在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着cd到那个目录,用du -sh *来查看下载进度。你也可以参考本文接下来的使用cocoapods的镜像索引一节的内容来提高下载速度。

使用CocoaPods的镜像索引

所有的项目的Podspec文件都托管在https://github.com/CocoaPods/Specs。第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,这个索引文件比较大,有80M左右。所以第一次更新时非常慢,笔者就更新了将近1个小时才完成。

一个叫akinliu的朋友在gitcafeoschina上建立了CocoaPods索引库的镜像,因为gitcafe和oschina都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将CocoaPods设置成使用gitcafe镜像:

1 2 3 pod repo remove master pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update

将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。

使用CocoaPods

使用时需要新建一个名为Podfile的文件,以如下格式,将依赖的库名字依次列在文件中即可

1 2 3 4 5 platform :ios pod 'JSONKit', '~> 1.4' pod 'Reachability', '~> 3.0.0' pod 'ASIHTTPRequest' pod 'RegexKitLite'

然后你将编辑好的Podfile文件放到你的项目根目录中,执行如下命令即可:

1 2 cd "your project home" pod install

现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下2点即可:

  1. 使用CocoaPods生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
  2. 每次更改了Podfile文件,你需要重新执行一次pod update命令。
查找第三方库

你如果不知道cocoaPods管理的库中,是否有你想要的库,那么你可以通过pod search命令进行查找,以下是我用pod search json查找到的所有可用的库:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ pod search json -> AnyJSON (0.0.1) Encode / Decode JSON by any means possible. - Homepage: https://github.com/mattt/AnyJSON - Source: https://github.com/mattt/AnyJSON.git - Versions: 0.0.1 [master repo] -> JSONKit (1.5pre) A Very High Performance Objective-C JSON Library. - Homepage: https://github.com/johnezang/JSONKit - Source: git://github.com/johnezang/JSONKit.git - Versions: 1.5pre, 1.4 [master repo] // ...以下省略若干行

关于.gitignore

当你执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。

CocoaPods的这篇官方文档也在What is a Podfile.lock一节中介绍了Podfile.lock的作用,并且指出:

This file should always be kept under version control.

为自己的项目创建podspec文件

我们可以为自己的开源项目创建podspec文件,首先通过如下命令初始化一个podspec文件:

1 pod spec create your_pod_spec_name

该命令执行之后,CocoaPods会生成一个名为your_pod_spec_name.podspec的文件,然后我们修改其中的相关内容即可。

具体步骤可以参考这两篇博文中的相关内容:《如何编写一个CocoaPods的spec文件》 和《Cocoapods 入门》

使用私有的pods

我们可以直接指定某一个依赖的podspec,这样就可以使用公司内部的私有库。该方案有利于使企业内部的公共项目支持CocoaPods。如下是一个示例:

1 pod 'MyCommon', :podspec => 'https://yuantiku.com/common/myCommon.podspec'

不更新podspec

CocoaPods在执行pod install和pod update时,会默认先更新一次podspec索引。使用--no-repo-update参数可以禁止其做索引更新操作。如下所示:

1 2 pod install --no-repo-update pod update --no-repo-update

生成第三方库的帮助文档

如果你想让CococaPods帮你生成第三方库的帮助文档,并集成到Xcode中,那么用brew安装appledoc即可:

1 brew install appledoc

关于appledoc,我在另一篇博客《使用Objective-C的文档生成工具:appledoc》中有专门介绍。它最大的优点是可以将帮助文档集成到Xcode中,这样你在敲代码的时候,按住opt键单击类名或方法名,就可以显示出相应的帮助文档。

原理

大概研究了一下CocoaPods的原理,它是将所有的依赖库都放到另一个名为Pods项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。发现的一些技术细节有:

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

愿大家玩得开心~


介绍

最近一直在搞cocoapods。 ios 这么多年终于有一个好使的包管理了。真的好激动好激动。。。 之前开发一些App的时候,在一开始的时候,总是需要手动添加framework, library,设置一些 search path,有时候还会忘记那么几个,然后出来一大堆的link error。当一些library更新的时候,还需要自己手动去更换。3句话说就是

  1. 手动增加framework,library
  2. 手动增加编译参数
  3. 手动维护代码更新

完全是一大堆的体力活,当然,这些简单的配置和复制并不会花费太多的时间,但是,还是觉得在浪费生命,而这时候CocoaPods就出来了。我们只需要设置一个Podfile文件,执行

$ pod install

CocoaPods会帮我们下载好代码,设置好编译参数,配置好framework, library。

安装和更新$ sudo gem install cocoapods 使用

在project根目录下,create Podfile文件,下面一个例子

platform :ios, '5.0' pod 'CURestKit', '~>1.0.1' pod 'SDWebImage','~>3.4' pod 'MBProgressHUD', '~> 0.7' pod 'UALogger', '~> 0.2.3'

CocoaPods 会帮我们从git clone下来配置好的这些代码。后面的部分表示代码的版本号,一般来说和tag挂钩。

配置好Podfile之后,执行

$ pod install

则会帮我们配置好这些项目。并生成一个XXXX.xcworkspace。 以后project使用这个文件就可以了。CocoaPods其实就是帮我们配置一个静态库作为项目的依赖。

CocoaPods里面有大量的代码,现在最新的版本安装后是在这里

~/.cocoapods/repo/master/ 制作自己的项目配置

实际开发过程中,我们还有不少代码需要被改动,而CocoaPods上面的代码,大部分都比较旧,都是很稳定的代码,当然也有一些不能用的(大部分是国内的公司做的,大家都懂的)。另外还有一些我们自己写的一些其他代码,暂时还么有被CocoaPods收录的。这时候我们就需要配置自己的项目啦。

这里是我的一个项目配置例子。cocoapods的配置文件就是一个 *.podspec的文件,这是一个例子文件名ShareCenter.podspec。这是一个典型的ruby,

Pod::Spec.new do |s| s.name = "ShareCenter" s.version = "2.0" s.summary = "share client include sina weibo ,tencent weibo, renren" s.description = <<-DESC share client include sina weibo ,tencent weibo, renren DESC s.homepage = "https://github.com/studentdeng/ShareCenterExample" s.license = 'MIT' s.author = { "curer" => "studentdeng@hotmail.com" } s.platform = :ios, '5.0' s.source = { :git => "https://github.com/studentdeng/ShareCenterExample.git", :tag => s.version.to_s } s.source_files = 'ShareCenter', 'ShareCenter/**/*.{h,m}' s.frameworks = 'QuartzCore', 'Security', 'CoreGraphics', 'AudioToolbox' s.library = 'sqlite3.0' s.vendored_libraries = 'ShareCenter/Vender/sina/libWeiboSDK/libWeiboSDK.a' s.prefix_header_contents = <<-EOS #ifdef __OBJC__ #import "ROConnect.h" #endif /* __OBJC__*/ EOS end

这个基本上都是自解释的,这里有几个需要说明一下

s.source s.source_files

这里的 source 我们看出是一个git 的地址,这里我们调试的时候,可以先暂时设置成本地git,调试完毕之后就可以发布 增加tag。想要最新的代码只需要这样设置就好

{ :git => "https://github.com/studentdeng/ShareCenterExample.git"}

我们的git项目中,并不是所有的代码都需要被引用到我们的代码中,通常project还会包括一些example,test cases等,这里的 source_files 就是用来指定一些文件夹,或是文件。我这里的设置也很容易理解,就是ShareCenter下面的递归后的所有后缀是h、m的子文件。

s.frameworks s.library

这里配置的就是我们的framework 和 library,这里注意一下library的名字规则就好。

vendored_libraries

这里用来指定外部的静态库。这里我们指定了sina sso认证的SDK

s.prefix_header_contents

这里用来指定预编译的配置,这里一定要鄙视一下renren的超级渣渣SDK。这里提供一种解决方法。

部署我们的配置到cocoapods中

cocoapods的代码配置文件是在这里Specs

这里最好是去fork一个自己的project,然后保存一个自己或是团队的配置,这样不会在更新cocoapods的时候,丢掉自己的配置。当然,如果觉得自己搞的还不错,也可以去pull requests。

在之前提到的目录~/.cocoapods/repo/master/ 下面,我们可以看到已经有超级多的项目了,我们可以也可以通过

$ pod search XXX

来查找项目,或是直接在这个文件夹下面找,可以学习不少project的配置技巧,我这里也是从他们学到的。

最后添加一个project的配置是这样子的。

例如上面的例子, 在~/.cocoapods/repo/master/ 下面创建一个文件夹ShareCenter,然后在创建一个2.0的文件夹表示这是version2.0的配置。 然后在把之前的ShareCenter.podspec复制到2.0目录下面。

也就是最后的目录是这样子的

~/.cocoapods/repo/master/ShareCenter/2.0/ShareCenter.podspec

如果希望更多的了解cocoapods,还是需要去Github上面 :D


CocoaPods命令介绍  

在  上一篇文章 中,已经介绍过CocoaPods的几条基本命令。  pod setup 用于初始化本地第三方库的Spec描述文件,所有的spec文件存都存放在  ~/.cocoapods 目录中。  pod install 用来安装或删除Podfile文件声明中的第三方依赖库。下面继续介绍其它一些命令。  

Shell代码  

   收藏代码
  1. $ pod list  
  2. # 列出所有可用的第三方库  


Shell代码  

   收藏代码
  1. $ pod search query  

搜索名称包含  query 的类库,  query 可以替换为你想搜索的名字(如json),不区分大小写。也可以使用  pod search --full query 命令作更仔细的搜索,该命令不但搜索类库的名称,同时还搜索类库的描述文本,所以搜索速度也相对慢一些。  

pod list 和  pod search 命令只搜索存在于本地  ~/.cocoapods 文件夹的所有第三方库,并不会连接到远程服务器。如果你要从服务器更新本地第三方库的描述文件,可以:  

Shell代码  

   收藏代码
  1. $ pod repo update master  
  2. 创建自己项目的Podspec描述文件  


CocoaPods还是一个相对年轻的项目,所有的项目的Podspec文件都托管在 https://github.com/CocoaPods/Specs 。可能有一些库并未收录其中。下面我们通过为微博sso认证登录库编写Podspec文件来学习相关的概念。  

初始化一个Podspec文件  

Shell代码  

   收藏代码
  1. $ pod spec create weibo_ios_sdk_sso-oauth  


该命令将在本目录产生一个名为  weibo_ios_sdk_sso-oauth.podspec 的文件。用编辑器打开该文件,里面已经有非常丰富的说明文档。下面我们介绍如何声明第三方库的代码目录和资源目录,还有该第三方库所依赖ios核心框架和第三方库。  

去除所有的注释,podspec文件如下所示:  

Shell代码  

   收藏代码
  1. Pod::Spec.new do |s|  
  2.   s.name     = 'ADVProgressBar'  
  3.   s.version  = '0.0.1'  
  4.   s.license  = 'MIT'  
  5.   s.summary  = 'Progress Bar Design with Percentage values.'  
  6.   s.homepage = 'https://github.com/appdesignvault'  
  7.   s.author   = { 'appdesignvault' => 'appdesignvault' }  
  8.   s.source   = { :git => 'https://github.com/appdesignvault/ADVProgressBar.git', :commit => 'f17b15c15574d6d101cd5fcfd58239e16e806647' }  
  9.   s.platform = :ios    
  10.   s.source_files = 'ADVProgressBar/Classes/*.{h,m}'  
  11.   s.resources = "ADVProgressBar/Resources/*.png"  
  12.   s.framework = 'UIKit'  
  13.   
  14.   s.requires_arc = true    
  15. end  

其中  s.name 和  s.summary 用来声明库的名称和一个简短的说明文档。  pod search 命令就是根据这两项内容作为搜索文本的。  s.homepage 声明库的主页,  s.version 库原代码的版本,  s.license所采用的授权版本,  s.author 库的作者。  

s.source  声明原代码的地址,以微博sso认证登录库为例,它托管在

Github代码  

   收藏代码
  1. https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth  
中,在其未尾加上  .git 扩展名就是库的原代码地址了,所以该行应声明为:  

Shell代码  

   收藏代码
  1. s.source = { :git => 'https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth.git'}  


对于很多第三方库而言,在发布的时候都会打上一个  tag ,如版本  0.0.1 就会打上一个名为v0.0.1的tag,但是  weibo_ios_sdk_sso-oauth 库还未打上所何tag,我们可以选择一个最新的commit来作为该库0.0.1版的代码。  s.source 最终如下:  

Shell代码  

   收藏代码
  1. s.source = { :git => 'https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth.git', :commit => '68defea78942ecc782ffde8f8ffa747872af226d'}  

以后我们可以根据该库不同的版本创建相应的podspec文件,例如0.0.2,0.1.0等。  

让我们在浏览器中看一下weibo_ios_sdk_sso-oauth的目录结构:  

List代码  

   收藏代码
  1. --  
  2. |  
  3. +-- demo  
  4. |  
  5. +-- src  
  6. |  
  7. +-- .gitignore  
  8. |  
  9. +-- README.md  

demo目录保存一个示例项目,src才是库的原代码目录。src的目录结构如下:  

List代码  

   收藏代码
  1. -- src  
  2.     |  
  3.     +-- JSONKit  
  4.     |  
  5.     +-- SinaWeibo  
  6.     |  
  7.     +-- sinaweibo_ios_sdk.xcodeproj  
  8.     |  
  9.     +-- SinaWeibo-Prefix.pch  

JSONKit目录说明这个库本身依赖于JSONKit第三方库。我们可以在podspec文件中的 s.dependency 声明段中声明。SinaWeibo目录才是包含所有原代码的目录,我们需要在 s.source_files 中声明  

Shell代码  

   收藏代码
  1. s.source_files = 'src/SinaWeibo/*.{h,m}'  

前一部分src/SinaWeibo/是一个相对目录,目录的层级关系一定要跟代码库的保持一致。最后一部分 *.{h,m} 是一个类似正则表达式的字符串,表示匹配所有以.h和.m为扩展名的文件。  

src/SinaWeibo/目录 下还有一个  SinaWeibo.bundle目录 ,该目录存放一些资源文件(如图片等),这些文件并不需要进行编译。可以使用  s.resourcs 声明  

Shell代码  

   收藏代码
  1. s.resources = "src/SinaWeibo/SinaWeibo.bundle/**/*.png"  

前一部分跟上面相同,  ** 表示匹配所有子目录,  *.png 表示所有以.png为扩展名的图片文件。  

通过查看代码我们知道,weibo_ios_sdk_sso-oauth还依赖一个ios的核心库QuartzCore  

Shell代码  

   收藏代码
  1. s.framework = 'QuartzCore'  

在前面我们已经说过,weibo_ios_sdk_sso-oauth库自身也依赖于另外一个第三方库JSONKit,声明如下:  

Shell代码  

   收藏代码
  1. s.dependency 'JSONKit', '~> 1.4'  

这行声明与Podfile文件中的声明类似。  

最终的结果如下:  

Shell代码  

   收藏代码
  1. Pod::Spec.new do |s|  
  2.   s.name         = "weibo_ios_sdk_sso-oauth"  
  3.   s.version      = "0.0.1"  
  4.   s.summary  = 'weibo.com sso oauth, 微博sso认证登录功能'  
  5.   s.homepage     = "https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth"  
  6.   s.license      = 'MIT'  
  7.   s.author       = {'mobileresearch' => 'mobileresearch'}  
  8.   s.source       = { :git => 'https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth.git', :commit => '68defea78942ecc782ffde8f8ffa747872af226d' }  
  9.   s.platform = :ios  
  10.   s.source_files = 'src/SinaWeibo/*.{h,m}'  
  11.   s.resources = "src/SinaWeibo/SinaWeibo.bundle/**/*.png"  
  12.   s.framework  = 'QuartzCore'  
  13.   s.dependency 'JSONKit', '~> 1.4'  
  14. end  

可以将该spec文件保存到本机的~/.cocoapods/master/目录中仅供自己使用,也可以将其提交到CocoaPods/Specs代码库中。下面我们将其保存到本机中  

Shell代码  

   收藏代码
  1. $ mkdir -p ~/.cocoapods/master/weibo_ios_sdk_sso-oauth/0.0.1  
  2. $ cp weibo_ios_sdk_sso-oauth.podspec ~/.cocoapods/master/weibo_ios_sdk_sso-oauth/0.0.1  

是否可以通过搜索找到该库:  

Shell代码  

   收藏代码
  1. $ pod search weibo  

同样在需要依赖于weibo_ios_sdk_sso-oauth这个库的项目,可以将下列添加到项目的Podfile文件中  

Shell代码  

   收藏代码
  1. pod 'weibo_ios_sdk_sso_oauth', '0.0.1'  

保存文件,并用  pod install 安装weibo_ios_sdk_sso-oauth库。
lightingbolt

cocoapods的安装和使用(转)

  • 在我们进行编程的时候,为了提高效率,节省时间经常要用到第三方的类库,但是手动导入有比较麻烦,所以我们需要使用一种类库管理工具就是最常见的--cocoapods.

    在介绍cocoapods之前,需要先说明一下,国内是没有ruby环境和cocoapods环境的,所以我们聪明的国人发明一种可以在国内使用的ruby镜像和cocoapods镜像,当然安装期间,你还可能遇到一个问题,那就是cocoapods的gem(版本),gem有时候是需要升级的和一些Xcode的插件(不是必须的),各位读者大大要注意一下这个细节.当你下载一个类库需要很长时间,别人只需要很短时间,你就需要看看是不是使用国外的环境了,...

  • 在我们进行编程的时候,为了提高效率,节省时间经常要用到第三方的类库,但是手动导入有比较麻烦,所以我们需要使用一种类库管理工具就是最常见的--cocoapods.

    在介绍cocoapods之前,需要先说明一下,国内是没有ruby环境和cocoapods环境的,所以我们聪明的国人发明一种可以在国内使用的ruby镜像和cocoapods镜像,当然安装期间,你还可能遇到一个问题,那就是cocoapods的gem(版本),gem有时候是需要升级的和一些Xcode的插件(不是必须的),各位读者大大要注意一下这个细节.当你下载一个类库需要很长时间,别人只需要很短时间,你就需要看看是不是使用国外的环境了,或者插件缺少.

    好了,甜点已经上完,下面就是我们的正菜了.

    首先:让我们打开终端:

    1.移除ruby的源地址
    在$符号后输入:
    gem sources --remove https://rubygems.org/

    2.添加ruby的源地址

    gem sources -a http://ruby.taobao.org/

    3.查看ruby的源地址
    gem sources -l

    4.安装cocoapods
    sudo gem install cocoapods
    //注释:sudo 为获取管理员权限,所以需要输入密码,输入密码时光标不提示

    5.如果提示gem版本过低,需要升级gem
    sudo gem update —system

    6.测试cocoapods 安装是否成功
    pod search afnetworking 
    //注释:afnetworking 为第三方的名字,可以换成其他的,并且支持模糊收搜索

    //如果没有成功,提示:Setting up CocoaPods master repo
    //cocoapods 安装有两个步骤:A.cocoapods环境安装 B.cocoapods主枝创建(相当于从cocoapods服务器上checkout一份到你的电脑)
    7.移除cocoapods主支
    pod repo remove master

    8.修改cocoapods地址
    pod repo add master https://gitcafe.com/akuandev/Specs.git
    //其中https://gitcafe.com/akuandev/Specs.git 
    也可还成http://git.oschina.net/akuandev/Specs.git

    9.更新cocoapods主支
    pod repo update

    使用cocoapods
    1. 创建工程(工程名:text3)放在桌面就行,直接拖拽到终端cd后

    注意:这个终端是重新创建的,不是同一个
    2. 在命令行里cd 工程主目录
    例如: 
    cd cd/Users/lanouhn/Desktop/text3

    3.创建名为Podfile的文件

    例如: vim Podfile

    4. 在Podfile中写入你想要添加的第三方类库

    例如: pod 'JSONKit', '~> 1.5pre'(想要使用的类库名)

    5. 保存Podfile文件, 并退出

    例如: :wq

    6. 安装第三方类库

    例如: pod install

    7. From now on use `text3.xcworkspace`.

    开打 *.xcworkspace,
    注意最后一句话,意思是:以后打开项目就用 text3.xcworkspace 打开,而不是之前的.xcodeproj文件。
    //注意: 一定要把之前的项目关掉

开发点滴

现在发布pods库的方法

现在无法使用pull request来提交自己的pods库,需要用如下方法:

http://yulingtianxia.com/blog/2014/05/26/publish-your-pods-on-cocoapods-with-trunk/

现在无法使用pull request来提交自己的pods库,需要用如下方法:

http://yulingtianxia.com/blog/2014/05/26/publish-your-pods-on-cocoapods-with-trunk/

looping

Convert .podspec to .podspec.json

pod ipc spec ProjectName.podspec > ProjectName.podspec.json

pod ipc spec ProjectName.podspec > ProjectName.podspec.json

Swiftartisan博客

CocoaPods知识总结



CocoaPods 是 iOS 最常用最有名的类库管理工具!

CocoaPods 安装使用步骤:

1. 利用 gem 安装 CocoaPods!


1> gem服务器在国外,提供了非常丰富的终端应用程序!


 


gem 常用命令如下:


{
//  查看gem源
$ gem sources –l
//  gem自身升级
$ sudo gem update --system
//  查看版本
$ gem --version
//  清除过期的gem
$ sudo gem cleanup
//  安装包
$ sudo gem install...



CocoaPods 是 iOS 最常用最有名的类库管理工具!

CocoaPods 安装使用步骤:

1. 利用 gem 安装 CocoaPods!


1> gem服务器在国外,提供了非常丰富的终端应用程序!


 


gem 常用命令如下:


{
//  查看gem源
$ gem sources –l
//  gem自身升级
$ sudo gem update --system
//  查看版本
$ gem --version
//  清除过期的gem
$ sudo gem cleanup
//  安装包
$ sudo gem install cocoapods
//  删除包
$ gem uninstall cocoapods
//  更新包
$ sudo gem update
//  列出本地安装的包
$ gem list
}


2> CocoaPods 安装


(电脑上第一次使用CocoaPods)


严格按照以下步骤安装!
{
//  添加源
$ sudo gem sources -a https://ruby.taobao.org/
// 删除源


    $ sudo gem sources -r https://rubygems.org/


//  再次核查gem源


    $ gem sources –l


//  安装(比较慢)
$ sudo gem install cocoapods
//  设置
$ pod setup
}


2. pod 常用命令!{
//  创建默认的 Podfile
$ pod init

//  第一次使用安装框架
$ pod install

//  安装框架,不更新本地索引,速度快
$ pod install --no-repo-update

//  今后升级、添加、删除框架,或者框架不好用都使用这个命令
$ pod update

//  更新框架,不更新本地索引,速度快
$ pod update --no-repo-update

//  搜索框架
$ pod search XXX

//  帮助
$ pod --help


}




CocoaPods 使用步骤:


 




//1、 将需要下载的框架的项目文件拖到终端 回车

cd项目文件路径



//2、创建默认的Podfile(项目中会增加一个名为Podfile的文件)


pod init//3、搜索需要的框架 以 SDWebimage 为例
pod search sdweb

// 4、将搜索结果的pod 名称(终端中查找)添加到 Podfile 文件中

SDWebimage 的名称为: pod 'SDWebImage'

//5、安装框架


 pod install --no-repo-update



 //如果是第一次安装,必须使用pod install 但因需要更新本地索引,所以速度


 //较慢,如果不是第一次,建议使用pod install --no-repo-update指令


//稍等,安装完毕即可使用........


 "注意:使用pod管理的框架的时候,需要使用 #import <> 指令添加



操作图示如下:



CocoaPods

鱼儿和猫

cocoapods 更新

  1. $ sudo gem update cocoapods  


  1. $ sudo gem update cocoapods  


You are my lover.

Cocoapods阶段性总结

最近研究了一下cocoapods

目的:将整个工程的功能模块化,每个模块可以用单独的App展示,然后用Cocoapods将摸个模块合并

总结下成果

cocoapods 更新:

更新spec文件: pod repo update master 

更新cocoapods:  sudo gem update cocoapods

代码存放,github和本地,我独自开发就放到本地。

步骤

  1. XXXXXX实现功能模块

  2. 配置podspec文件。就放在根目录吧。如图[图片]
    这个步骤看到有初始化git的,试了试,本地的不用初始化也可以。

    pod spec create...

最近研究了一下cocoapods

目的:将整个工程的功能模块化,每个模块可以用单独的App展示,然后用Cocoapods将摸个模块合并

总结下成果

cocoapods 更新:

更新spec文件: pod repo update master 

更新cocoapods:  sudo gem update cocoapods

代码存放,github和本地,我独自开发就放到本地。

步骤

  1. XXXXXX实现功能模块

  2. 配置podspec文件。就放在根目录吧。如图
    这个步骤看到有初始化git的,试了试,本地的不用初始化也可以。

    pod spec create XXX

    需要打开编辑

    打开后里面描述很详细,可以根据改。

        下面是我根据我的通常使用的情况写的。

        name 模块名字

        version 版本号,用来模块功能更新后更新cocoapods

        license 协议

        summary 功能描述

        homepage 主页,无所谓

        author 作者

        source 资源文件,一般开源的库会放置在github上,这里会指向github上的某个git,这里我链接本地的库就写本地路径,是到podspec的父目录

    platform 平台

    source_files 需要包含的文件,我一般写模块时会写完整的新得工程,但是没必要把所有的文件都包含进来,就写下包含的.h.m

    dependency 依赖的第三方库,可以分条写

还有几个需要注意的:

资源文件,图片资源,这个我没测试,也差不多,

  # s.resources = "Resources/*.png"

框架

  # s.framework  = 'SomeFramework'

  # s.frameworks = 'SomeFramework', 'AnotherFramework'

  # s.library   = 'iconv'

  # s.libraries = 'iconv', 'xml2'

如果依赖某些框架,需要写在这里。

Pod::Spec.new do |s|

s.name = 'NewFuntion'

s.version = '2.1.0'

s.license = 'MTI'

s.summary = 'This is a new funtion test!'

s.homepage = 'https://meituliaoliao.com/'

s.author = { 'xushao' => 'xushao1990@126.com' }

s.source = { :git => '/Users/tage/Github/LocaTest/MoreFunction' }

s.platform = :ios

s.source_files = 'NewFuntion/NewFuntion/{MyCocoapods,MyCocoapodsView}.{h,m}'

s.dependency 'SDWebImage'

s.dependency 'AFNetworking'

end


 

#mark

2014年04月18日13:46:00

直接 install 或者 update pod,时间很长

可以在后面跟上  --no-repo-update,忽略XXX消耗很长时间的更新检测

可以通过 --verbose查看进度



LOFTER

让兴趣,更有趣

简单随性的记录
丰富多彩的内容
让生活更加充实

下载移动端
关注最新消息