使用
查看是否安装了Ruby和git,ruby -v命令查看Ruby的版本,以及git --version
更新gemsudo gem update --system
移除官方镜像源gem sources --remove https://rubygems.org/
添加淘宝的镜像源gem sources -a http://ruby.taobao.org/
验证gem sources -l,出现
*** CURRENT SOURCES ***
http://ruby.taobao.org/
才算成功。如果无法移除https://rubygems.org/,可以替换成gem sources --remove https://rubygems.org/
安装sudo gem install cocoapods
配置pod setup
查看第三方类库是否可用,比如pod search AFNetworking,如果能搜索到就表明这个第三库支持cocoapods
-> AFNetworking (2.2.1)
A delightful iOSandOS X networking framework.
pod'AFNetworking','~> 2.2.1'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions:2.2.1,2.2.0,2.1.0,2.0.3,2.0.2,2.0.1,2.0.0-RC3,2.0.0-RC2,
2.0.0-RC1,2.0.0,1.3.3,1.3.2,1.3.1,1.3.0,1.2.1,1.2.0,1.1.0,1.0RC3,
1.0RC2,1.0RC1,1.0.1,1.0,0.9.2,0.9.1,0.9.0,0.7.0,0.5.1,0.10.1,0.10.0
[master repo]
-Subspecs:
- AFNetworking/Serialization (2.2.1)
- AFNetworking/Security (2.2.1)
- AFNetworking/Reachability (2.2.1)
- AFNetworking/NSURLConnection (2.2.1)
- AFNetworking/NSURLSession (2.2.1)
- AFNetworking/UIKit (2.2.1)
进入项目所在目录, 输入vim Podfile(创建Podfile文件),或者输入touch podfile然后open -e podfile,这时候就会用文本编辑器打开podfile文件供编辑
输入相关的第三方类库的信息,比如
pod'Base64nl','~> 1.2'
pod'MBProgressHUD','~> 0.8'
pod'AFNetworking','~> 2.2.0'
注意:保存vim文件方式是:先按ESC退出编辑模式,然后输入:wq(:q!表示不保存,强制退出),保存并退出
输入pod install,等待第三方库安装完成(cocoapods会列出安装的第三库和版本)
退出当前项目,从目录中打开xcworkspace后缀的和项目同名的文件,或者直接在终端输入open xxxxx.xcworkspace
注意#import如果用""无法导入,可以用<>代替
需要添加新的第三库的时候,需要编辑podfile文件,输入vim podfile,如果遇到输入无效的时候,左下角显示红色的字E353:Nothing in register,输入i或a即可进入编辑模式。
再次输入pod update,即可添加新的第三库
使用Podfile管理Pods依赖库版本
符号解释
pod ‘AFNetworking’不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.2.0’只使用2.2.0版本
pod ‘AFNetworking’, ‘> 2.2.0’使用大于2.2.0的版本
pod ‘AFNetworking’, ‘>= 2.2.0’使用大于等于2.2.0的版本
pod ‘AFNetworking’, ‘~> 2.2.0’使用大于等于2.2.0但小于2.3.0的版本
屏蔽第三方库的warning
platform:ios
inhibit_all_warnings!
pod'Facebook-iOS-SDK'
错误解决
pod update或pod install出现Error “Pull is not possible because you have unmerged files.
解决:
pod repo removemaster
podsetup
多Configurations导致的诡异错误
删除Derived Data
设置 Configurations 为 None,检查Other Linker Flags三个Search Paths是否和正常的又出入并改正,最后pod update
对于比较大的库,比如ZXingObjC,可以先download下来,设置本地路径:path => 'MishiOS/Vender/ZXingObjC/'文件夹中必须含有podspec文件,然后删除设置本地路径和在工程中第三方库,updat即可
[!] There was an error pushing a new version to trunk: getaddrinfo: nodename nor servname provided, or not known
开启全局科学上网
target overrides the OTHER_LDFLAGS build setting defined
点击项目文件 project.xcodeproj,右键显示包内容,用文本编辑器打开project.pbxproj,删除OTHER_LDFLAGS的地方,保存,回到 Xcode,编译通过。
xcode running scripts慢
检查Podfile.lock文件
勾选Run sript only when installing
注意:如果更新了新的第三方库而且第三方库中存在资源文件,就需要再次打开这个,不然程序无法加载到资源文件
更新gem
sudo gemupdate--system
sudo gemupdate-n /usr/local/bin--system
更新cocoapods
sudo geminstallcocoapods
sudo geminstall-n /usr/local/bincocoapods
安装指定版本cocoapods
sudo gem uninstall cocoapods
sudo gem install cocoapods -v x.xx.x
更新慢
不升级cocoapod的spec仓库
--verbose--no-repo-update
或
--no-repo-update
Podfile文件注释
#comment
或者
=begin
all my comments..
=end
更新单独的库
pod update xxxx
清理repo
pod reporemovemaster
清理缓存
rm -rf"${HOME}/Library/Caches/CocoaPods"
rm -rf"`pwd`/Pods/"
pod cache clean --all&& podupdate
提交自己的库
注册pod
pod trunk register lc5491137@gmail.com 'Bawn' --description='macbook pro' --verbose
验证podspec
podliblint
podliblint--verbose
git add -A && git commit -m"Release 1.0.1."
gittag'1.0.1'
git push --tags
git push originmaster
podtrunkpushYXYNumberAnimationLabel.podspec
网友评论