标签:
显示当前源
$gem sources -l
国内ruby无法访问,删除https://rubygems.org/源
$gem sources --remove https://rubygems.org/
添加淘宝ruby源
$gem sources -a http://ruby.taobao.rog/
更新rubygem自身
sudo gem update --system
安装cocoapods
sudo gem install cocoapods
初始化cocoapods(--verbose表示显示详情)
pod setup --verbose
查看cocoapods版本
pod --version
在Xcode所建工程目录下(与DemoProject.xcodeproj统计)建立Podfile文件
pod init
所建文件样式大概是这样
source ‘https://github.com/CocoaPods/Specs.git‘
# Uncomment this line to define a global platform for your project
platform :ios, ‘7.0‘
# use_frameworks!
target ‘DemoProject’ do
pod ‘AFNetworking’
end
target ‘DemoProjectTests‘ do
pod ‘AFNetworking’
end
说明:
source ‘https://github.com/CocoaPods/Specs.git‘不是自动建立的,需要自行添加
在相应的target-end中添加对应的库,可以带版本号,pod ‘AFNetworking‘, ‘~> 2.5.4‘
platform :ios, ‘7.0‘表示最低支持7.0,如果需求的某个库仅从8.0开始支持,那么将安装失败
# use_frameworks!:#代表注释此行,user_frameworks!表示将依赖的库编译为framworks(Xcode6+),而不是静态库libxx.a
多个target使用相同的库
使用cocodpods搜索已收录的第三方库
pod search ‘AFNetworking‘
-> AFNetworking (2.5.4)
A delightful iOS and OS X networking framework.
pod ‘AFNetworking‘, ‘~> 2.5.4‘
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0,
2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0,
2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1,
1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2,
0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (2.5.4)
- AFNetworking/Security (2.5.4)
- AFNetworking/Reachability (2.5.4)
- AFNetworking/NSURLConnection (2.5.4)
- AFNetworking/NSURLSession (2.5.4)
- AFNetworking/UIKit (2.5.4)
添加好Podfile文件之后,安装(由于国内网络原因,添加--no-repo-update取消本地repo信息更新,加快安装)
pod install --verbose --no-repo-update
如果以后添加了新的库,则使用
pod update --verbose --no-repo-update
等待完成后,在工程目录下打开DemoProject.xcworkspace。完成安装。
[待更新:使用库的全部、使用部分、排除部分]
安装完cocoapods及相关第三方文件后,在工程目录下,大概包含一下几项:
DemoProject/
DemoProject.xcodeproj
DemoProject.xcworkspace
DemoProjectTests/
Podfile
Podfile.lock
Pods/
Pods/文件夹中包含了第三方库的代码及相关配置信息等,可以不包含在版本管理中(重新下载即可)。
Podfile.lock的作用是保存已安装的依赖库的版本。大概如下:
PODS:
- EDHexColor (0.0.1)
- FXBlurView (1.6.3)
- MMMaterialDesignSpinner (0.2.0)
- MZAppearance (1.1.5)
- MZFormSheetController (3.0.3):
- MZAppearance
- MZFormSheetController/Core (= 3.0.3)
- MZFormSheetController/Core (3.0.3):
- MZAppearance
- UCZProgressView (1.0.1)
DEPENDENCIES:
- EDHexColor
- FXBlurView
- MMMaterialDesignSpinner
- MZFormSheetController
- UCZProgressView
SPEC CHECKSUMS:
EDHexColor: ce087ec4fcb33a03270ec0dab858c4c28e887b68
FXBlurView: c6d23f3d35af2c6282296a2930f61c6e2c788d01
MMMaterialDesignSpinner: 8f1a50270b789c76ec500957e518fc3e05e55b9d
MZAppearance: 6e9dc64e42074c0a19812a327f590746c3283bab
MZFormSheetController: 36771856696eeef2eaec9b18c75791d3c95cb661
UCZProgressView: 32fa5c572ff1300bf22553c8286600d9ae42f50f
COCOAPODS: 0.36.3
主要用于多人开发中,A生成的Podfile.lock,B下载后,只需再执行一遍pod install即可与A的依赖库及版本相同。
如果没有此文件,则B会得到最新版本的依赖库,造成团队代码不一致。因此可以把此文件放入版本管理中。
建立git时,.gitignore文件参考github.com自动生成的文件,如下
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
#Pods/
[待更新:建立自己的cocoapods库(1.到cocoapods中;2.不到cocoapods中)]
删除cocapods
1.遇到无限"Seting up CocoaPods master repo"时,进入到~/.cocoapods/repos/master,不断使用命令du -sh *来查看Specs文件夹大小,可以知道是否正在更新。
2.安装cocoapods时遇到pod setup --verbose 之后无限等待,报错
标签:
原文地址:http://www.cnblogs.com/bitCoder/p/4603592.html