如何将自己的SDK将本地项目上传到gittHub上并用cocoapods管理

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我开发用的自己电脑,测试人员调试用的公司电脑,她们说每次clone下来都要pod install一下很烦。我想问一下你们有没有把cocoapods管理的三方库一并上传到远程仓库。上传与不上传,会有哪些影响?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
Podfile和Podfile.lock放到远程就行了,添加一个.gitignote文件把不需要的东西不用上传到git上面
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
看官方怎么说:。
简单的说:官方建议把 Pods 文件夹放到版本管理,但只是建议。。Podfile和Podfile.lock必须加到版本管理。
不忽略的好处:
即便没网,clone 之后也可以立即运行,而不用 pod install
保证代码永远可以运行,万一第三方库消失在二次元世界呢。。
保证代码一致
忽略的好处:
占用更小的空间资源
只要Pod源可用,可以保证上面的2 3成立
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。将自己的SDK上传到github并用cocoapods管理 - 简书
将自己的SDK上传到github并用cocoapods管理
后台搞重构,特么接口变了不少,之前的不少接口有变化,改的烦死了。改完觉得这样不行啊尼玛,原先afn只封装了一层,然后参考了下github上的开源库,对封装进行了修改,后面打算抽时间再在自己项目里再封装一层。想着改都改了干脆做成自己的SDK,以后有新项目也可以用,方便移植。
昨天搞了大半天上传SDK的事情,记录一下。先文字,图后面再上传SDK的时候再截。
首先肯定是要在GitHub上注册一个账号并登陆,首页右上角点击“+”创建一个 New repository,跳转到创建设置界面,name一般与sdk项目相同,description就是简介,因为是作为sdk,所以选择Public,点选README,也可以在这里直接选add.gitgnore和add license,不过我看的教程是用终端创建的,下文会提到,下次试试。
点绿色的Create repository完成工程创建.
创建工程。跳转到了自己的工程页面后,点击Clone,将带隐藏的.git文件的同名工程文件夹下载到本地,假设该目录为a。假设我们已经写好了SDK并放在了一个文件夹里名叫SDK,那我们在刚才下载的目录下创建工程,名叫SDK-demo,用于演示SDK使用;在工程同级放一个SDK文件夹,用于提供给cocoapods。这样能使我们的工程结构清晰明了。
将工程上传到GitHub。可以用终端也可以用GitHubDesktop对工程进行管理。个人习惯用终端.
git add -A
git commit -m 'sdk'
git push origin master
注册一个cocoapods账号。直接在终端输入 pod trunk me 查看自己的账号信息,未注册则输入pod trunk register 按照提示输入账号密码注册,注意这里要在对应邮箱中打开接受到的链接,打开后能看到注册成功提示。
创建. podspec文件。该文件为Pods依赖库的描述文件,每个Pods依赖库必须有且仅有那么一个描述文件。文件名称要和我们想创建的依赖库名称保持一致。
pod spec create SDK
vi SDK.podspec
会发现创建的podspec里面一大堆不需要的文字,删也要删个半天,所以推荐的方法是,
找个成熟的SDK复制他的podspec文件到a,改名为SDK
vi SDK.podspec。
这里对文件里的内容要进行总结一下,因为填不好就无法提交到cocoapods
以我的SDK的文件内容做?
Pod::Spec.new do |s|
= "TYNetworkTool"
s.homepage
= "https://github.com/TianyongWang/TYNetworkTool"
#工程主页地址
= "A short description of TYNetworkTool."
#项目的简单描述
= { "MasazumiQi" =& "" } #作者及联系方式
s.platform
#支持的平台
s.platform
= :ios, "7.0"
#平台及版本
s.ios.deployment_target = "7.0"
#最低系统版本
= { :git =& "https://github.com/TianyongWang/TYNetworkTool.git" ,:tag =& "#{s.version}"}
#工程地址及版本号
s.requires_arc = true
#是否必须arc
s.source_files = "TYNetworkTool/*.{h,m}"
#SDK实际的重要文件路径,这里有个坑,后面文章再说
s.frameworks
= "UIKit","Foundation"
#需要导入的frameworks名称,注意不要带上frameworks
s.dependency "AFNetworking" #依赖的第三方库
s.dependency "YYCache"
#依赖的第三方库
添加podspec文件到GitHub.
git add 'SDK.podspec' 或者直接git add -A
git commit -m 'SDK.podspec'
添加LICENSE文件
vi LICENSE 直接复制个MIT就可以了
git add 'LICENSE' (或者git add )
git commit -m 'add LICENSE'
git tag '0.0.1'
git commit -m 'add tag'
git push origin 0.0.1
使用 pod spec lint 来检测一下是否有错误或警告,有则改之,每次本地的工程中有改动并上传到GitHub上之后需要改变tag 否则就会找不到你所改动的,在改变了tag 之后需要将.podspec文件中的s.version和s.source 的tag 改成同样的值。这一步真是搞了好久,出了好多错误,虽然都一一解决了。。有时间单独列个文章方便后续解决吧。
pod spec lint 无错误则可以pod trunk push,收到发布成功提示了就可以了。
我试了下pod search SDK 来搜索自己建的SDK,居然搜不到。。然后用以下方法解决了。。估计是本地索引文件里没更新就搜不到,删除重建索引就可以了
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup成功后会生成~/Library/Caches/CocoaPods/search_index.json文件。
终端输入rm ~/Library/Caches/CocoaPods/search_index.json
删除成功后再执行pod search
pod install SDK 到自己的项目里愉快的使用吧
迭代更新时候需要的操作SDK
将新代码上传到GitHub
升级tag 也就是第8步
修改podspec对应的版本号,对应上一步的tag,有其他新增文件或者修改一并修改。
上传podspec,也就是第6步
检测一下podspec是否有错,即第9步,有错就改
无错就pod trunk push。
一枚正在学习的码农,这是我的note
项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构更加清晰,一方面现有的工具Cocoapods提供了近乎完美的解决方案。这里我们来讨论一下如何在Xcode 工程中集成Cocoapods,这里提供入门级别的集成和...
一、创建的github仓库原文地址 1 进入Github网站www.github.com登陆自己的账号后 2 建立一个新的仓库 创建新的仓库 3 填写仓库信息 填写仓库信息 4 创建完毕后 创建成功 二、上传代码到创建的仓库 1 选择clone 到本地仓库 mac 电脑中,...
作为一名iOS开发者,一定用过CocoaPods吧?如果没有用过,可以查看CocoaPods官网。
CocoaPods是一款用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库中源代码,同时通过创建一个.xcworkspace文件...
网上将自己的项目做成Pod 的文档很多,但是有些文档已经很老了,不适合新手上手,经过这两天的研究我决定还是自己写一篇这方面的文档: 整个过程的实现我以一个基于AFNetworking封装的网络请求OBDataService为例: 一、创建自己的github仓库 cocopo...
一、在Github上创建存储库(前提是得有一个Github账号,如果没有就注册一个) 1.在你账号的首页的右上方会有新建存储库的按钮,如下图: 2.点击New reposltory进入创建页面 3.将Github上的存储库clone到本地a.命令方式是在终端选好指定的目录后...
一直很难琢磨自己到底是什么样的人?时而热情,时而冷淡,对外界像是漠不关心,但又会渴望得到关注。 向往采菊东篱下的闲情,但也割舍不下繁华都市的喧嚣,这就是我,矛盾的个体。
本人承诺,文章内容为原创。 原文来自专题 :武侠江湖专题之勇气咖 投稿请参照:武侠江湖专题之勇气咖 专题简介以及收稿标准 武侠江湖见习评文官:流沙小妖怪 原文作者 :三水林枫 原文链接 :琅琊令之拜师学艺|无边丝雨细如愁 说文章之前,先说点题外话,算是免责声明吧!我不敢说自...
如果你喜欢一个人,你可以不请他(她)吃饭,也可以不和他(她)逛街,不过你一定要给他(她)写情书,当然能写情诗还是更好些。不过这只是说写情诗很重要,你该陪人家吃饭逛街还是要陪的。 要说哪类文章或者哪类诗词最具独特的情感价值,就是只为一人写只有一读者的情书或情诗了。当然这并不代...
生活,总是一个一个的选择。 跟这个小朋友还是那个小朋友玩,放学回家还是围着一群老爷爷看下棋,是看喜欢的西游记还是葫芦娃,要不要给暗恋的女生表白,选择哪个学校哪个专业,考研还是工作,要不要再考一年,以及,怎么承认自己在人生的某一阶段确实走到下坡路。 睁眼闭眼都是我要怎么做,我...
有个流浪汉曾对我说,“I am not strange, I am just not normal”。那一瞬间我被震撼! 有一种现象很好玩,就是无论你走到人生的哪个阶段,总会有人说你:“你变了”,“没想到你变成这样”,“你晒的那些优越其实很多人都拥有”,“你老是评判别人,让...在CocoaPods上创建自己iOS程序的依赖管理 - cocoapods-trunk-github - ITkeyowrd
在CocoaPods上创建自己iOS程序的依赖管理
推荐:http://blog.devtang.com/blog//use-cocoapod-to-manage-ios-lib-dependency/ 使用CocoaPods来做iOS程序的包依赖管理 Dec 2nd, 2012 前言 每种语言发
2018阿里云全部产品优惠券(好东东,强烈推荐)领取地址:
一、github上创建开源项目
GitHub是目前使用最广的分布式项目管理软件。 下面是如何从零开始,将自己的项目放到GitHub上面,并能够像SVN那般update和commit。
1、到上建立自己的账号
2、按照的指引,创建第一个代码仓库
“Repository name”可以理解为项目名称。
※现在的Private权限是收费的,所以只能创建Public权限的仓库。
※Private权限,表示只有指定用户可以查看/下载/commit这些代码;而Public权限,则表示所有人都能够看到这些代码并进行下载,但只有你指定的用户才能够进行commit。
3、安装和配置git
mac已经带有git,查看版本 [root@localhost ~]# git --version git version 2.5.4(Apple Git-61)
接着就要设置用户名和Email了,Email最好和注册时候的一样。 $ git config --global user.name&&Your Name Here& # Sets the default name for git to use when you commit $ git config --global user.email&&your_& # Sets the default email for git to use when you commit 上面的内容都写在配置文件~/.gitconfig里了 恭喜,到这里,基本Git和GitHub都配置好了!
4、版本库初始化
如果是从头创建版本库,可以采用先克隆,建立提交数据,最后再通过推送完成GitHub版本库的初始化。
(1) 克隆版本库:
git clone https://github.com/skylinbaiyi/HelloWorld.git
Cloning into 'HelloWorld'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.
克隆的方式,本地已经存在一个.git文件夹,就不需要执行&git&init 了
(2) 修改文件README.md文件:
创建Repository时,如果选择创建README.md文件的话,github上已经存在该文件,如果没有,则手动创建
$ git add README
# Stages your README file, adding it to the list of files to be committed
git&add&.&
#会把当前路径下的所有文件,添加到待上传的文件列表中
$ git commit -m&'first commit'
# Commits your files, adding the message &first commit&
这里所有的更改都只是在本地的, Push之后才会提交到GitHub保存:
git&remote&add&origin&https://github.com/skylinbaiyi/HelloWorld.git&
git push origin master
(5)给项目加入一个tag。以便pod能自动识别
gittag -a0.0.1 -m&Tag release 0.0.1”
git push —tags
二、为自己的项目添加cocoaPods支持
trunk需要CocoaPods 0.33版本以上,用pod --version命令查看版本,如果版本低,需要升级:
sudo gen install cocoapods
更新完成后,下一步是注册trunk
pod trunk register
'test' --description=' ' --verbose
有的地方提示,这一步需要自备梯子,否则就会出现注册失败的问题,经我这里测试,公司网络目前不需要翻墙
注册后CocoaPods会给你的邮箱发送验证链接,点击后就注册成功了,可以用pod trunk me命令查看自己的注册信息:
上面的命令是我注册时使用的,你需要把邮箱和名字以及描述替换成你的,加上--verbose可以输出详细debug信息,方便出错时查看。
& - Name: & & Yang Xiaoyu & - Email: & & & - Since: & &May 25th, 20:27 & - Sessions:& & & - May 25th, 20:27 - September 30th, 22:41. IP: 23.228.209.171 & Description: macbook pro
上面是我的注册信息,CocoaPods不通过密码来验证用户,而是通过一个session token。
2、部署你的Pod
首先你需要建立一个podspec文件,这是我的podspec文件:
Pod::Spec.new do |s| s.name = &YXYNumberAnimationLabel& s.version = &1.0.1& s.summary = &一个可以动起来的数字Label& s.description = &&-DESC 通过设置数字变化的插值来展现动画效果 DESC s.homepage = &https://github.com/yulingtianxia/YXYNumberAnimationLabel&
s.license = 'MIT' s.author = { &YangXiaoyu& =& && } s.social_media_url = &http://twitter.com/yulingtianxia& s.source = { :git =& &https://github.com/yulingtianxia/YXYNumberAnimationLabel.git&, :tag =& s.version.to_s } s.platform = :ios, '6.0' s.requires_arc = true s.source_files = 'YXYNumberAnimationLabel/*' s.frameworks = 'Foundation', 'UIKit' #s.private_header_files = 'Classes/ios/private/*.h'
#s.dependency 'FLKAutoLayout', '~& 0.1'end
在验证和上传你的podspec文件到trunk之前,需要将你的源码push到Github上,tag一个版本号并发布一个release版本,这样podspec文件中的s.source的值才能是准确的:
git add -A& git commit -m &Release 1.0.1.& & git tag '1.0.1' & git push --tags & git push origin master
这两条命令是为pod添加版本号并打上tag:
set the new version to 1.0.1 set the new tag to 1.0.1
pod trunk push命令做了如下三个工作:在你podspec文件下的路径运行pod trunk push YXYNumberAnimationLabel.podspec&命令,同样需要翻墙梯子自备,别忘了将YXYNumberAnimationLabel.podspec替换成你的podspec文件名。
验证你本地的podspec文件(你也可以用pod spec lint命令来验证)
上传你的podspec文件到trunk
将你的podspec文件转化成trunk需要的JSON文件
如果部署成功,CocosPods会在Twitter上@你
就像文章最开始的架构图描述的那样,你在trunk中的操作依然会在仓库中更新。以后再做更改时只需要更新版本号然后通过trunk来提交,不用向pull request并等待审核和merge了。
运行pod setup来更新你的Pods依赖库tree后,再使用pod search YXYNumberAnimationLabel命令来查找刚刚加入的名字叫YXYNumberAnimationLabel的依赖库:
-& YXYNumberAnimationLabel (1.0.1) & &一个可以动起来的数字Label & &pod 'YXYNumberAnimationLabel', '~& 1.0.1' & &- Homepage: https://github.com/yulingtianxia/YXYNumberAnimationLabel & &- Source: & https://github.com/yulingtianxia/YXYNumberAnimationLabel.git & &- Versions: 1.0.1, 1.0.0 [master repo]
注意事项:
(1) 验证spec文件的有效性:
pod spec lint 文件名 验证resp上的文件
pod lib lint&文件名&这是只是验证本地文件
(2) 添加&--verbose 可以显示详细信息,便于查看问题
pod trunk push Bugrpt.podspec --verbose
参考地址: 1. &podspec文件的格式参考广告文档:& 2.&:
三、提交 podspec 文件到github的方法对比 提交结果查看地方& https://github.com/CocoaPods/Specs/tree/master/Specs
1、旧方法 &
http://blog.csdn.net/wzzvictory/article/details/
2、新方法& &
http://yulingtianxia.com/blog//publish-your-pods-on-cocoapods-with-trunk/
http://www.cnblogs.com/wengzilin/p/4742530.html
其他文章中提到,需要cocoaPods审核几天,才能有效,但我这里使用的实际情况是,只要pod trunk push成功,就马上有效了,在 CocoaPods/Specs中就可以看到了,CocoaPods也可以使用这个库了
里面有个log信息提示有个beta版本可以使用,这个千万不要下载,可能会有很多问题,还是老老实实使用最新的正式版本才靠谱
四、问题总结
1. github的账号密码问题 如果有多个github账号,在进行账号切换提交项目时,会出现没权限的问题
这时需要在本地切换账号,切换到本项目使用账号。账号密码保存在钥匙串中,先删除,再重新输入新的账号密码
2. 路径不对
Unable to interpret the specified path as a podspec
原因是没有tag标记,代码push完全后,添加一个tag,这个tag需要和podspec文件的version字段对应
3. 找不到branch版本
我们添加tag时,写的是1.0.2,需要加上字母“v”, v1.0.2
4. &编码问题 &生成的podspec文件,MAC下直接用自带的文本编辑器或者其他三方工具:TextWrangler,会提示编码的问题或者其他错误
解决方法:windows下用edit编辑,然后到mac下提交
5. 库的路径问题
比如bugly sdk的cocoaPods配置
source指定的Bugly-1.4.5.zip文件,解压出来必须是 Bugly.framework,而不是其他文件名或者文件夹,否则可能出现以下的错误 提示source_files 或者vendored_frameworks找不到
出现这种问题时,如果检查podspec文件书写没有问题,则有可能是pod本身的问题,换台电脑试试
6. 库的头文件问题
原因:导出的头文件名字跟framework的名字不一致 修改办法:删除Modules文件夹或者修改modele.modulemap文件里头文件的定义或者修改头文件名
7. model找不到
专门下载了bugly的sdk,测试了下也是一样的问题:
查了半天没找到原因,后来猜想有没可能是pod版本的问题,先查了下当前版本:
本机安装了最新的beta版本,所以先把这个版本卸载了,安装最新的正式版,验证通过
8. 奇葩的版本错误
提示vendored_frameworks 和 public_header_files的格式错误,但是仔细对照,始终没发现有什么问题。
有可能是Cocoapods的版本问题,以前使用0.39.0一直正常,更新到1.0.0后就不对了
推荐: 原文地址:http://blog.devtang.com/blog//use-cocoapod-to-manage-ios-lib-dependency/ 前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具,
一、github上创建开源项目 GitHub是目前使用最广的分布式项目管理软件。 下面是如何从零开始,将自己的项目放到GitHub上面,并能够像SVN那般update和commit。 1、到https://github.com上建立自
相关阅读排行
相关内容推荐
请激活账号
为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。
您的注册邮箱:
如果您没有收到激活邮件,请注意检查垃圾箱。github+SourceTree管理自己的库并上传到cocoapods及各种坑的解决办法
一、上传写好的库到github(我这里使用SourceTree客户端)
1.在github上创建一个仓库
2.将仓库拉倒本地
复制仓库地址
将刚才复制的地址粘贴到这里
3.上传项目到github
将写好的库放在上一步的目标路径文件夹里。 可以看到sourceTree里新增的文件,将为暂存文件放到已暂存。
点下面提交信息的输入框,勾选下面立即推送,可以同时提交到本地及远程仓库
二、上传到cocoapods
1.制作podspec文件
方法一:cd 你的仓库所在目录 ---& pod spec create xxx(xxx是你的sdk名)。然后vi xxx.podspec 进入文件中进行配置。(方法一比较麻烦,不推荐)
方法二:拷贝别人的podspec,然后修改一下就可以。
下面来看看podspec里的内容及含义:
Pod::Spec.new do |s|
s.name = 'LFPickerView'
s.version = '<span style="color: #.0'
s.license = { :type =& "MIT", :file =& "LICENSE" }
s.summary = '将PickerView,DatePicker封装得更加简单易用,并可搭配UITextField使用'
s.homepage = 'https://github.com/zhanglinfeng/LFPickerView'
s.authors = { '张林峰' =& '' }
s.source = { :git =& 'https://github.com/zhanglinfeng/LFPickerView.git', :tag =& s.version.to_s }
s.requires_arc = true
s.ios.deployment_target = '<span style="color: #.0'
s.source_files = 'LFPickerView/LFPickerView/*.{h,m}'
s.name 你的sdk名字s.homepage 你仓库的主页地址
s.source 仓库地址(注意跟主页地址不一样)及tag
s.ios.deployment_target 最低支持iOS 8.0
s.source_files 供别人使用的文件(要根据你的文件路径设置,别搞错了,如下图)
然后把这个文件也提交到github。
2.给项目打个tag
tag要跟上一步制作的podspec文件里的tag一致。
3.上传你的sdk到cocoapods
注意:如果你的cocoapods版本低于1.1.0一定要升级。(怎么升级,升级速度慢失败等,网上一堆教程这里不说了)
cd 到你仓库根目录
pod lib lint 命令,对打上的标签与podspec标记的标签进行比验证
pod trunk push 命令,真正执行分支的推送操作
成功截图如下
然后等几个小时到2天,差不多就可以搜到自己的库了。
pod search 你的sdk名
如果好几天了还搜不到,对于有些类库确实是在Cocoapods中所不存在的,为了确定我们搜索的库是不是真的在Cocoapods的Repos中存在,我们可以到中进行搜索。如果你的库在Cocoapods里,但pod search 你的sdk名 命令还是搜不到。则执行下面操作:
终端输入rm ~/Library/Caches/CocoaPods/search_index.json
再pod search。
三、解决一些坑
1.- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
解决办法:检查你.podspec文件中s.source_files路径有没有填错
2.did not pass validation ,due to 1 wanrings (but you can use --allow-warnings to ignore them)
解决办法:在命令后面加--allow-warnings
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- NOTE | [iOS] xcodebuild: xcodebuild: error: 'App.xcworkspace' does not exist.
解决办法:更新你的Cocoapods版本
更多相关文章
七牛是一个不错的平台了,我们现在有很多的站长会把一些资源放到七牛上去了,但在使用过程中有时会碰到上传文件出现 invalid mutilpart format错误了,下面我们来看问题解决办法.今天用umeditor编辑文章上传图片的时候发现一直卡在&loading-&,打开控制台 ...
今天我在vps中配置了DiscuzX论坛,但是在上传文件时出现了Upload Error: 500,经过分析发现是配置上传大小问题,后来找了解决办法,下面分享给各位.这种情况只出现在运行在fcgid模式下的PHP里,MaxRequestLen参数设置值过小导致的.但是原来我也装过,没遇到过这种情况啊 ...
课程简介 第8天,怎样在SharePoint 2013怎样创建文档库并上传文档. 视频 SharePoint 2013 交流群
我在encode里面设置了cherrypy.request的编码了,可是文件上传,包含中文部分的仍旧乱码,页面统一编码为UTF-8,客户端提交部分看了post部分,无问题 我也遇到了这个问题,可以修改cherrypy的源代码,在_rerequest.py里面
一.介绍 Subversion 简称就是svn服务器,用来托管代码的,类似的还有git 1 ...
GnuCash 是一款自由.开源软件,也是 Linux 最流行的专业财务软件.该软件也是一 ...
一.Android应用启动服务执行脚本1 如何写服务和脚本在android源码根目录下有/ ...
Google Chrome释放后重利用漏洞(CVE-243)发布日期:2015 ...
发布日期:4更新日期:8受影响系统:Novell Gr ...
从高手那里了解到Cocos2dx现在可以支持BlackBerry PlayBook了,于是 ...
rsyslog 7.2.6 发布,该版本改进了配置解析错误信息,这些错误主要是一些无效的转 ...
关于robots.txt文件:搜索引擎通过一种程序robot(又称spider),自动访问 ...
通过以下两个 PPA 你可以为你的 Ubuntu 安装最新的显卡驱动程序,主要支持蕊片组为 ...
之前我们介绍了 Oracle 11g 新特性中的 虚拟列 和 只读表,今天我们介绍另外一个 ...将自己库添加Cocoapods支持 - IOS - 伯乐在线
& 将自己库添加Cocoapods支持
给库添加Cocoapods支持, 使这个工具使用起来更加方便, 如果你有一个库正想添加CocoaPods支持, 这篇文章一定对你有一些帮助
这是我上传的一个小工具
首先写好一个要添加Cocoapods支持的库 这是我第一个添加Cocoapods支持的工具 你可以看看
// 升级至最新版本
$sudo gem install cocoa pods
// 完成注册 邮箱和GitHub用户名字
pod trunk register
'summerxx27' --verbose // 之后点击邮箱链接进行验证
// 升级至最新版本$sudo gem install cocoa pods// 完成注册 邮箱和GitHub用户名字pod trunk register @qq.com 'summerxx27' --verbose // 之后点击邮箱链接进行验证
3 查看注册信息如图
pod trunk me
pod trunk me
4 创建 .spec文件
// XTAlertViewController : 库名字
pod spec create XTAlertViewController
// XTAlertViewController : 库名字pod spec create XTAlertViewController
5 编辑文件 vim
vim XTAlertViewController.podspec
vim XTAlertViewController.podspec
6 填写信息: 看名字就知道意思了. 具体还可以看官方文档 我的XTAlertViewController.podspec这个文件是这样写的, 或者找一个优秀的第三方, 模仿着写也是可以的
Pod::Spec.new do |s|
s.name = 'XTAlertViewController'
s.version = '1.0.1'
s.license = 'MIT'
s.summary = 'A view like UIAlertViewController on iOS.'
s.homepage = 'https://github.com/summerxx27/XTAlertViewController'
s.authors = { 'summerxx27' =& '' }
s.source = { :git =& 'https://github.com/summerxx27/XTAlertViewController.git', :tag =& s.version.to_s }
s.requires_arc = true
s.ios.deployment_target = '7.0'
s.source_files = 'XTAlertViewController/*.{h,m}'
123456789101112
Pod::Spec.new do |s|s.name = 'XTAlertViewController's.version = '1.0.1's.license = 'MIT's.summary = 'A view like UIAlertViewController on iOS.'s.homepage = 'https://github.com/summerxx27/XTAlertViewController's.authors = { 'summerxx27' =& '' }s.source = { :git =& 'https://github.com/summerxx27/XTAlertViewController.git', :tag =& s.version.to_s }s.requires_arc = trues.ios.deployment_target = '7.0's.source_files = 'XTAlertViewController/*.{h,m}'end
7 验证一下本地文件编写是否正确
pod lib lint XTAlertViewController.podspec
pod lib lint XTAlertViewController.podspec
8 把编辑好的文件推送到GitHub (库文件 和 .spec文件)(使用GitHub Desktop就可以) 并且打上标记
git tag '1.0.1'
git push --tags
git tag '1.0.1'git push --tags
9 把编写的文件告诉Cocoapods
pod trunk push XTAlertViewController.podspec
pod trunk push XTAlertViewController.podspec
10 之后使用查找命令就可以看到你所添加的库了
整个过程 我使用的GitHub Desktop来和 github联系的 所以仓库的目录应该是
.podspec // 这三个应该在同一层目录
总结 : 大致的过程就是这个样子, 博主在尝试的时候 走了不少弯路, 昨天一直到凌晨也没有成功, 好在最后成功了, 按照这个步骤, 基本没有错误, .podspec这个文件如果填写正确的话.
打赏支持我写出更多好文章,谢谢!
打赏支持我写出更多好文章,谢谢!
任选一种支付方式
关于作者:
可能感兴趣的话题
o 104 回复
关于iOS频道
iOS频道分享iOS和Swift开发,应用设计和推广,iOS相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
&#8211; 好的话题、有启发的回复、值得信赖的圈子
&#8211; 分享和发现有价值的内容与观点
&#8211; 为IT单身男女服务的征婚传播平台
&#8211; 优秀的工具资源导航
&#8211; 翻译传播优秀的外文文章
&#8211; 国内外的精选文章
&#8211; UI,网页,交互和用户体验
&#8211; 专注iOS技术分享
&#8211; 专注Android技术分享
&#8211; JavaScript, HTML5, CSS
&#8211; 专注Java技术分享
&#8211; 专注Python技术分享
& 2018 伯乐在线

我要回帖

更多关于 将本地项目上传到码云 的文章

 

随机推荐