最近整理了一下创建自己的CocoaPods库。梳理成下图流程,供大家参考。
一、Ruby
ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言。
官方网站
http://www.ruby-lang.org/en/
1、查看版本
ruby -v
2、rvm
RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。
安装命令
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
二、Homebrew
使用 Homebrew 可以安装 一些Apple 没有预装的工具软件。这些软件可能是你需要的。 Homebrew 软件包列表。
也可以使用 Homebrew更新Apple预装的工具软件。比如用brew更新ruby环境。
官方网站
https://brew.sh
1、安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、查看版本
brew --version
三、RubyGems
RubyGems简称gems,是一个用于对 Ruby组件进行打包的 --Ruby 打包系统。
官方网站
https://rubygems.org/pages/download
1、Ruby镜像源
(1)gem sources -l
(2)gem sources --remove https://ruby.taobao.org/
(3)gem sources -a https://gems.ruby-china.com/
2、查看版本
gem --version
3、升级Ruby环境
(1)gem update --system
(2)sudo gem update --system
(3)sudo gem update -n /usr/local/bin --system
四、CocoaPods
CocoaPods是使用Ruby构建的。是OS X和iOS下的一个第三类库管理工具。
官方网站
https://cocoapods.org
1、安装CocoaPods
(1)sudo gem install cocoapods
(2)sudo gem install -n /usr/local/bin cocoapods
2、更新本地仓库
(1)pod repo update
五、创建自己的Pod库
1、Git Create
创建代码库
2、Create podspec
创建podspec文件
// 注 Richinfo 这个是名称
$ pod spec create Richinfo
3、Edit podspec
编辑podspec文件
4、Git Tag
打标签
5、Verify podspec
校验podspec文件
// --verbose 如果验证失败会报错误信息
pod spec lint Richinfo.podspec --verbose
6、Trunk podspec
注册推送podspec文件
// --use-libraries --allow-warnings
pod trunk push Richinfo.podspec
7、Update pod
其他工程引入自己创建的CocoaPods库
最后执行搜索
pod search Richinfo
发现没有搜索到。原因是在~/Library/Caches/CocoaPods/search_index.json
中查找相应类库,查不到的时候,我们需删除本地文件search_index.json
,重新生成一份search_index.json
文件。
执行删除命令
rm ~/Library/Caches/CocoaPods/search_index.json
再执行搜索命令就可以搜索到了。
错误
1、执行sudo gem install cocoapods
结果
Building native extensions. This could take a while...
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20200807-681-t436rr.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/include/ruby.h
You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
extconf failed, exit code 1
Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.13.1/gem_make.out
解决办法
执行xcode-select --install
,等安装完成后,再执行sudo gem install cocoapods