CocoaPods安装和使用教程以及Updating local specs repositories问题
来源:互联网 发布:linux如何进行源码安装 编辑:程序博客网 时间:2024/04/30 00:59
一、概要
iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。
二、安装
由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1、Ruby环境搭建
当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)
- ritekiMac-mini:PodTest lucky$ ruby -v
- ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
- ritekiMac-mini:PodTest lucky$
b 更新ruby
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
- ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
- https://rubygems.org/ removed from sources
- ritekiMac-mini:~ lucky$ gem sources -a https://ruby.taobao.org/
- https://ruby.taobao.org/ added to sources
- ritekiMac-mini:~ lucky$ gem sources -l
- *** CURRENT SOURCES ***
终端输入:sudo gem install cocoapods
- ritekiMac-mini:~ lucky$ sudo gem install cocoapods
- CHANGELOG:
- ## 0.32.1
- ##### Bug Fixes
- * Fixed the Podfile `default_subspec` attribute in nested subspecs.
- [Fabio Pelosin][irrationalfab]
- \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
- Successfully installed cocoapods-0.32.1
- Installing ri documentation for cocoapods-0.32.1
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
- Done installing documentation for cocoapods after 10 seconds
- 1 gem installed
这样就下载安装好了CocoaPods
3、使用CocoaPods
a 新建一个项目,名字PodTest
b 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
- cd /Users/lucky/Desktop/PodTest
c 建立Podfile(配置文件)
接着上一步,终端输入 vim Podfile
键盘输入 i,进入编辑模式,输入
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
如果卡在下图所示问题,不必担心,
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace
打开项目后看到项目结构并且测试一下:
运行结果:
补充:
1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'AFNetworking', '~> 2.0'
终端输入命令:pod search UI
疯了了,我怎么查找这么大众的关键字,好多库~~
然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!
可能出现的问题:
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
出现这个问题的原因很简单,别害怕。这是因为你写的‘ ’ 这个符号有问题 你用Xcode打开podfile,如果看到8.0两边的引号是这样的,你需哟用xcode重写一下,让它变成下面紫色那种引号,然后上面的问题就解决了。
问题二:
CocoaPods报错:The dependency `AFNetworking ` is not used in any
concrete target
你要用下面这种格式 其中MyApp 就是你工程的target 一般就是工程名
platform :ios, '8.0'#use_frameworks!target 'MyApp' do pod 'AFNetworking', '~> 2.6' pod 'ORStackView', '~> 3.0' pod 'SwiftyJSON', '~> 2.3'end
- CocoaPods安装和使用教程以及Updating local specs repositories问题
- Cocoapods updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods一直停留在:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories
- 使用CocoaPods被卡住:Updating local specs repositories 解决方案
- cocoaPods被卡住Updating local specs repositories
- cocoapods提示 Updating local specs repositories解决办法
- cocoapods卡在Updating local specs repositories
- Cocoapods 关于Updating local specs repositories的问题和单独更新/加载某一个库的方法
- 使用workSpace 安装出现updating local specs repositories
- Cocopods使用问题:Updating local specs repositories卡住不动
- 使用cocoadPod updating local specs repositories 卡住
- Android IntentService 使用
- java实现文件后缀命名
- 第八周期末考试
- 从Ant调用系统命令或外部程序
- 基于kubernetes构建Docker集群管理详解
- CocoaPods安装和使用教程以及Updating local specs repositories问题
- Android 一个全适配方案
- oracle基本概念
- 第十一周补充项目 2.1 输出职工信息
- Linux上程序执行的入口--main(int argc, char *argv[])
- freeswitch lua实现ivr导航
- 数据结构与算法--求最大子列和问题
- 软件设计模式
- SQL的内置函数(转)