浅谈CocoaPods那点事。。。
2016-05-11 10:49
417 查看
CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。
在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
把开源库的源代码复制到项目中
添加一些依赖框架和动态库
设置-ObjC,-fno-objc-arc等参数
管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
CocoaPods的安装
需要用到ruby,Mac系统自带ruby,但如果不是最新的系统,最好更新一下。
ruby的软件源rubygems.org被墙了,所以先换一下源,命令行下依次执行3条命令
更新gem,国内需要切换源
安装CocoaPods
查看CocoaPods版本
出现Setting up CocoaPods master repo,半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。。。
gitcafe和oschina都是国内的服务器,可以用它们CocoaPods索引库的镜像:
CocoaPods的使用
在终端shell中cd 来到你要管理的项目,运行:pod install 你的工程就多了个xworkspace文件夹,以后用这个打开工程
添加第三方库
使用时候的常见问题
使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
终端报错
可能是 repos 的问题, 执行系列命令
可能是 cocoapods出问题了, 想卸载重新安装, 所有就要执行下面的命令
当你嫌安装太慢时候,可以使用CocoaPods的镜像索引
安装cocoa pods的Xcode插件
在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
把开源库的源代码复制到项目中
添加一些依赖框架和动态库
设置-ObjC,-fno-objc-arc等参数
管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
CocoaPods的安装
需要用到ruby,Mac系统自带ruby,但如果不是最新的系统,最好更新一下。
ruby的软件源rubygems.org被墙了,所以先换一下源,命令行下依次执行3条命令
$ gem sources --remove https://rubygems.org/ $ gem sources -a https://ruby.taobao.org/ $ gem sources -l
更新gem,国内需要切换源
$ sudo gem update --system
安装CocoaPods
$ sudo gem install cocoapods $ pod setup
查看CocoaPods版本
$ pod --version
出现Setting up CocoaPods master repo,半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。。。
gitcafe和oschina都是国内的服务器,可以用它们CocoaPods索引库的镜像:
$ pod repo remove master $ pod repo add master https://gitcafe.com/akuandev/Specs.git $ pod repo update 如果想用oschina的镜像也可以把第二条命令 换成 $ pod repo add master http://git.oschina.net/akuandev/Specs.git
CocoaPods的使用
在终端shell中cd 来到你要管理的项目,运行:pod install 你的工程就多了个xworkspace文件夹,以后用这个打开工程
添加第三方库
搜索一个开源库(例如搜索AFNetworking) $ pod search AFNetworking 在工程目录里建一个Podfile文件 $ vim Podfile 内容按这个格式来 platform :ios,'8.0' pod 'AFNetworking', '~> 3.0.4' pod 'SDWebImage', '~> 3.7.1' pod 'FMDB', '~> 2.3' 导入第三方库 $ pod install
使用时候的常见问题
使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下: pod install --verbose --no-repo-update pod update --verbose --no-repo-update
终端报错
LoadError - dlopen(/Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle, 9): Library not loaded: /usr/local/lib/libyaml-0.2.dylib Referenced from: /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle Reason: image not found - /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle
可能是 repos 的问题, 执行系列命令
$ cd ~/.cocoapods/repos $ rm -rf master $ pod setup
可能是 cocoapods出问题了, 想卸载重新安装, 所有就要执行下面的命令
$ sudo gem uninstall cocoapods
$ sudo gem install cocoapods $ pod setup
当你再次遇到这个问题时候 Error loading RubyGems plugin "/Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/gems/2.0.0/gems/gem-wrappers-1.2.7/lib/rubygems_plugin.rb": dlopen(/Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib Referenced from: /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/openssl.bundle Reason: image not found - /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/openssl.bundle (LoadError) 你只需要重新安装了 rvm, 然后就解决了所有的事情. \curl -L https://get.rvm.io | bash -s stable --ruby
当你嫌安装太慢时候,可以使用CocoaPods的镜像索引
所有项目的Podspec文件都托管在https://github.com/CocoaPods/Specs, 第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods目录下, 这个索引文件比较大,所以第一次更新时非常慢. 友好人士在国内的服务器建立了Cocoapods索引库的镜像, 所以执行索引跟新操作时候会快很多.具体操作方法如下: $ pod repo remove master $ pod repo add master https://gitcafe.com/akuandev/Specs.git $ pod repo update 这是使用gitcafe上的镜像,将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。
安装cocoa pods的Xcode插件
安装cocoa pods的插件 cocoapods-xcode-plugin-master下载路径:https://github.com/kattrali/cocoapods-xcode-plugin 使用Xcode打开,运行后,选择运行加载该插件“Load.....”安装完成:修改GEM_PATH:/usr/local/bin 即可通过该插件编辑podfile文件来加载三方框架
相关文章推荐
- 深入了解iOS代理设计模式
- Date类型和Calendar类型区别
- 阿里云Ubuntu服务器配置教程(一)——服务器与MySQL配置
- 将一个字段中以符号分隔的多个数字进行排序显示
- pip 安装其他工具报错处理
- 深入 Linux 的进程优先级
- java 键盘输入数据
- Android性能优化
- c++11时间函数
- Android Handler消息处理机制详解
- 一个关于Java的装箱与拆箱的bug
- SDRAM的机理
- javaoop---jdbc 入门级别
- JAVA。String转Int
- SSM框架——使用MyBatis Generator自动创建代码
- C/C++中一维与多维数组
- 如何在MySQL中设置外键约束以及外键的作用
- 上传文件并读取excel总结
- Swift UIButton用法
- apache sqoop1.99.3+hadoop2.5.2+mysql5.0.7环境构筑以及数据导入导出