如何上传代码到CocoaPods

安装CocoaPods

如果安装忽略以下步骤
查询资源出处
gem sources -l
替换镜像服务器
gem source --remove https://rubygems.org/
gem source -a https://gems.ruby-china.org/(可换成其他镜像)
安装Cocoapods
sudo gem install cocoapods --pre
(注:使用 --pre 是为了尽量使用最新的版本)
成功后,安装到此结束可以通过pod search AfNetworking 验证

验证出错
如果卡在setup这一步,一般是网络问题 这是要把服务器上的所有三方库列表备份到本地包比较大需要耗费很长时间, 因为默认的repo镜像是国外的https://github.com/CocoaPods/Specs.git
我们可以替换成国内的如:
https://git.coding.net/CocoaPods/Specs.git
命令:
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
完成后 记得
pod repo update 这时候url就会改变了(pod repo 查看)
但是这里执行pod setup命令的话还是会切换回去,在~/.cocoapods/repos/master/.git目录下config文件里面有个url ,可以查看修改,以上只能保证列表能快速下载到本地,对于后面我们pod lib lint的话又会执行setup导致url又自动改变了 恢复到默认设置。这时候貌似只能慢慢等了(我在这一步卡了很久 最后还是重复试了几次才成功
这时候如果search还没有的话执行下面命令清楚缓存再试试:
rm ~/Library/Caches/CocoaPods/search_index.json

创建编辑自己的Pod

使用命令 pod lib create yourPodName (这一步需要在你要存放的文件夹下执行 如:cd /Users/admin/Desktop 创建到桌面上)
执行命令后会出现各种选项 如实填写即可
注:Would you like to include a demo application with your library? [ Yes / No ] 这里如果要同时创建demo的话就Yes 如果只是上传library No 这里以前创建的时候选择No进入project是能成功编译的 现在不能编译 如果是选择yes的话能编译 都不影响上传

修改文件

在刚刚创建的文件下一般需要修改两个文件
../README.md
../yourPodName.podspec

podspec文件修改如下:
--------------------------------------------分割线-------------------------------------
Pod::Spec.new do |s|
s.name = 'YCYCategories'
s.version = '0.0.1'
s.summary = 'YCYCategories is a category for ios.'
s.homepage = 'https://github.com/CattleToCoaxStudio/YCYCategories''www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'chengyou.yang' => '864390553@qq.com' }
s.source = { :git => 'https://github.com/CattleToCoaxStudio/YCYCategories.git', :tag => s.version.to_s }
s.ios.deployment_target = '6.0'
s.requires_arc = true
s.source_files = 'YCYCategories','YCYCategories/.{h}',' YCYCategories//.{h,m}'
s.frameworks = 'UIKit', 'Foundation'
end
----------------------------------------分割线-----------------------------------------
(注:如果需要引用其他的三方库,s.dependency 'AFNetworking' s.dependency 'FMDB' s.dependency 'MJExtension'之后同样需要pod install )

此时需要查看Example文件夹下是否已经默认执行过一次pod install
(注:新版本可能已经存在podfile、.xcworkspace等文件,此时不需要再执行pod install 如果没有这些文件 切换到Example文件下执行pod install )

接下来打开yourPodName..xcworkspace文件开始编辑你要加入的代码

本地初始化Pod并提交代码到Github

在此之前先去github上面创建自己的仓库,然后提交代码:

git add -A && git commit -m "release 0.0.1"
git tag '0.0.1'
git remote add origin https://github.com/CattleToCoaxStudio/YCYCategories.git
git push --tags
git push origin master

校验pod是否有效(前提工程要能成功编译)
pod lib lint --allow-warnings 或 pod spec lint

(注:命令后面加--allow-warnings出现警告的时候也能通过,如:WARN | summary: The summary is not meaningful.)

如果校验没有通过,根据报错更改相应文件即可,一般是yourPodName.podspec配置出错 ,注意 s.source_files路径问题

注册CocoaPods并提交Pod

注册
pod trunk register xxx@xxx.com 'yourName' --description='macbook pro'
查看自己的信息
pod trunk me
如果多人维护pod 可以添加其他维护者
pod trunk add-owner name xxx@xxx.com
上传
pod trunk push
push的过程时间较长 通过后可以通过pod search xxx进行查询

问题1

如果上传中出现Performing a deep fetch of the master specs repo to improve future perform且长时间无反应

需要将cocoapods卸载 重新安装

卸载步骤

which pod 拷贝打印出来的路径
移除组件

sudo rm -rf <path> path为cocoapods安装路径

查看gems中本地程序包

gem list | grep cocoapods
然后出现所有关于cocoapods的程序包,逐个卸载

sudo gem uninstall cocoapods -v 1.0.0 (后面可省略)

程序包全部卸载后,cocoapods卸载完毕,然后重新安装

问题2

如果已经成功上传 自己能pod search 查询到自己的版本,但是别人依然查询不到
这时候只能让别人也升级cocoapods 并 清楚缓存 再次尝试
升级的步骤可以参考安装cocoapods的步骤

rm ~/Library/Caches/CocoaPods/search_index.json

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容