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

把自己Github上的代码添加Cocoapods支持
招聘信息:
&一、前言这两天被cocoapods折磨的心力憔悴。看cocoapods官网的添加支持,但是介绍的(ying)比(yu)较(tai)简(cha)单,而且有的步骤也没有写上,导致看着官方文档也没有成功,后来查阅了简书、CocoaChina等等,还是已经接近崩溃。没有一个完整的介绍。索性多个文档对比测试,最后终于成功的让自己Github上的库成功支持Cocoapods安装。&二、开始这里我将从最初的开始进行介绍,包括Github上创建项目已经上传项目,到最后的支持Cocoapods。步骤如下:代码上传Github创建podspec文件,并验证是否通过在Github上创建release版本注册CocoaPods账号上传代码到CocoaPods检查上传是否成功1 代码上传Github首先我们打开,然后创建自己的项目工程:&这里注意那个MIT License,在后面添加Cocoapods支持的时候会用到(稍后介绍)。然后点击创建即可。然后用SouceTree将代码down到本地,将自己的项目放到里面,文件夹如图所示:&这里的LICENSE就是刚才说的MIT License添加的文件。RSADemo是示例工程,ZGRSAEncryptor就是提供给他人使用的库。(ZGEncrptor(For java).zip是后端的代码)然后提交到Github就可以了。&2创建podspec文件我们使用终端到工程目录下:&然后执行下面的命令:pod&spec&create&ZGRSAEncryptor这里的ZGRSAEncryptor就是pod添加市的名字(例如MBProgressHUD)。执行完后的结果:&&此时在工程文件夹下也会多一个ZGRSAEncryptor.podspec文件。这里我用Sublime Text打开并做了如下编辑:Pod::Spec.new&do&|s|
&&s.name&&&&&&&&&=&"ZGRSAEncryptor"
&&s.version&&&&&&=&"1.0.0"
&&s.summary&&&&&&=&"A&Library&for&iOS&to&use&for&RSA&encryptor."
&&s.homepage&&&&&=&"/ScottZg/ZGRSAEncryptor"
&&s.license&&&&&&=&"MIT"
&&s.author&&&&&&&&&&&&&=&{&"scottzg"&=>&""&}
&&s.source&&&&&&&=&{&:git&=>&"/ScottZg/ZGRSAEncryptor.git",&:tag&=>&"#{s.version}"&}
&&s.source_files&&=&"ZGRSAEncryptor/*.{h,m}"endname:类库的名称这里字段介绍如下:version:库的版本summary就是介绍语,就是:&homtepage:Github上项目地址license:许可证author:作者source:项目的https链接地址source_files:要共享的代码,这里是ZGRSAEncryptor下面的所有代码。接下来执行下面的命令进行验证:pod&lib&lint&ZGRSAEncryptor.podspec结果多种多样,如果有错,则按照提示进行改错即可。在这里,我执行的结果如下图:&&发现了多个警告,只要不是错误就行,警告可以直接忽略(红色也提示如何忽略):pod&lib&lint&ZGRSAEncryptor.podspec&—allow-warnings结果如下:当看到ZGRSAEncryptor passed validation之后,就说明验证通过了。&3&在Github上创建release版本打开项目的目录,然后创建release版本的类库:&&点击 箭头指向开始创建release版本,(点击 Create a new release):&点击Publish release即可。创建完成后如图所示:这样第三步就完成了&4&注册CocoaPods账号执行命令行:pod&trunk&register&邮箱地址&‘用户名’&—description='描述信息'执行完之后结果如下:&黄色提示已经发送了一个验证码到邮箱,你可以打开你的邮箱验证即可。打开邮件中的链接后如下:&这样就成功注册了Cocoapods账号。可以用pod&trunk&me检查是否创建成功。成功的结果如下:5&上传代码到CocoaPods首先检测文件格式的有效性:pod&spec&lint结果如下:&&没有错误,但是有警告。可以使用 —allow-warnings忽略:&出现passed validation就说明通过验证了。然后执行:pod&trunk&push&ZGRSAEncryptor.podspec&—allow-warnings执行结果如下:(速度应该有的慢)&说明了已经上传成功。&6 检查上传是否成功使用pod&search&ZGRSAEncryptor结果如下:ok,已经成功了。这样就可以让其他人进行搜索使用了。&三、总结百度、Google了多篇文档,然后进行总结,终于实现了构建自己的Cocoapods库。在后面我将会继续学习怎么在本地进行构建、怎么在公司多人开发的时候进行构建私有库开发。&四、参考文档:1、2、3、
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量9463点击量6414点击量6340点击量5867点击量4926点击量4663点击量4486点击量4475点击量4342
&2016 Chukong Technologies,Inc.
京公网安备89一、上传写好的库到github(我这里使用SourceTree客户端)
1.在github上创建一个仓库
2.将仓库拉倒本地
复制仓库地址
将刚才复制的地址粘贴到这里
3.上传项目到github
将写好的库放在上一步的目标路径文件夹里。 可以看到sourceTree里新增的文件,将为暂存文件放到已暂存。
点下面提交信息的输入框,勾选下面立即推送,可以同时提交到本地及远程仓库
二、上传到cocoapods
1.注册cocoapods
pod&trunk&register&邮箱地址&‘用户名’&—description='描述信息'执行成功后打开你的邮箱验证即可。pod&trunk&me 命令检查是否注册成功
2.制作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 = '/zhanglinfeng/LFPickerView'
s.authors = { '张林峰' =& '' }
s.source = { :git =& '/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.dependency "Masonry"
s.name 你的sdk名字s.homepage 你仓库的主页地址
s.source 仓库地址(注意跟主页地址不一样)及tag
s.ios.deployment_target 最低支持iOS 8.0s.dependency "Masonry 依赖第三方库
s.source_files 供别人使用的文件(要根据你的文件路径设置,别搞错了,如下图)
然后把这个文件也提交到github。
3.给项目打个tag
tag要跟上一步制作的podspec文件里的tag一致。
4.上传你的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版本
&4.- ERROR | xcodebuild:& /Users/zhanglinfeng/Library/Developer/Xcode/DerivedData/App-culgapkleglkstaqypgjlqqpywqh/Build/Products/Release-iphonesimulator/LFKit/LFKit.framework/Headers/LFEncryptDecryptUtil.h:10:9: error: include of non-modular header inside framework module 'LFKit.LFEncryptDecryptUtil': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/usr/include/CommonCrypto/CommonCryptor.h' [-Werror,-Wnon-modular-include-in-framework-module]
解决办法:#import &CommonCrypto/CommonCryptor.h&从.h文件拿到.m文件。原因不明,反正我辛辛苦苦各种尝试,这样就解决了。
阅读(...) 评论()使用CocoaPods管理第三方开源类库
招聘信息:
iOS开发中经常会用到许多第三方开源类库,比如AFNetworking、FMDB、JSONKit等等,使用CocoaPods这个工具就能很方便得对工程中用到的类库进行管理,包括自动下载配置以及更新。
首先需要下载安装CocoaPods,系统要求有ruby环境,至少OS X 10.9以后是自带ruby环境的(Python也自带了),使用&ruby -v&命令可以查
看当前ruby版本。
配置过程如下:
1.ruby环境
不放心的话可以先确认下ruby环境,据说由于GFW的影响,大都把Ruby镜像指向taobao的(其实上个月第一次用的时候没有设置,现在为了稳定性还是换吧),执行以下命令:
gem&sources&--remove&https:&gem&sources&-a&http:&gem&sources&-l&&(用来检查使用替换镜像位置成功)&
2.下载CocoaPods
执行如下命令:
sudo&gem&install&cocoapods&
3.使用CocoaPods
安装完成后即可使用了,通过CocoaPods来下载使用第三方类库,首先要检查CocoaPods是否支持目标类库,虽然大多数都是支持的。
比如检查是否支持AFNetworking,执行命令&pod search AFNetworking&,即可看到相关信息。
下面举个例子如何在一个名为&DemoMap&的项目里使用CocoaPods管理第三方类库,进入项目所在目录,并建立Podfile(配置文件)
执行两条命令:
cd&/hou/DemoMap&vim&Podfile&
按下&i&,进入编辑模式,在Podfile中输入以下信息(根据GitHub中提示信息获得):
platform&:ios,&'7.0'&pod&"AFNetworking",&"~>&2.0"&
按下ESC键,退出编辑模式,输入:wq,进行保存操作。
输入pod install开始自动下载并配置好,以后打开项目用.xcworkspace后缀的文件即可。
Pods文件夹中存放的就是下载好的第三方依赖库。
打开后可以发现,项目工程中已经自动引入了AFNetworking。
在工程里引用头文件后就可以直接使用了。如果类库有更新,可以按照第3步的办法对配置文件进行更新,然后执行&pod update&即可。
另外,在GitHub上下载了某个开源项目后,如果该项目使用了CocoaPods,可以直接cd到项目工程所在目录,执行&pod install&即可一次把所有用到的第三方依赖库下载配置好,比起一个个下载好再导入,方便太多了。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量4613点击量4418点击量4287点击量3892点击量3818点击量3800点击量3521点击量3507点击量3044
&2016 Chukong Technologies,Inc.
京公网安备89首先因为 Weex 是在2016年下半年才开源的,所以目前用到的公司或个人并不多,今天要说的这些东西也是在踩了各种坑之后,总结的一些经验,废话不多说,直接正题:本片博客,博主主要讲三种集成方式:
&转载请注明出处:
  这种最简单,但是集在工程中的无用代码比较多,如果对 iOS包没有太严苛的要求可以用这种办法。
  1、首先保证你已经完成了安装&&和&
  2、确保你已有的iOS项目目录有名称为&Podfile&文件,如果没有,创建一个,用文本编辑器打开
  3、在你的&Podfile&文件中添加如下内容
  pod 'WeexSDK', '<span style="color: #.9.5'
## 建议使用WeexSDK新版本
  4、打开终端,cd到你已有项目&Podfile&这个文件存在的目录,执行&pod install,没有出现任何错误表示已经完成环境配置。
  这种方法是手动导入,更新的时候也需要手动更新,相对来说比较 low,但是对于初学 iOS 的来讲比较实用;
  1、先去 github 上下载最新的 WeexSDK 到本地,下载地址:/alibaba/weex
  2、下载的文件名应该是&weex-dev,打开 weex-dev/ios/&里面有个 sdk 文件夹,把 sdk 文件夹直接拷贝到你已有项目目录中。
  3、接下来回到第一种方法了,但是在 podfile 文件中添加如下内容
  pod 'WeexSDK', :path=&'./sdk/'
  4、打开终端,cd到你已有项目&Podfile&这个文件存在的目录,执行&pod install,没有出现任何错误表示已经完成环境配置。
  这种方法就比较高端了,不做过多讲解,懂的人自然看得懂。
  1、首先你需要在&http://git.oschina.net 或者 github 上创建代码库。这里以 http://git.oschina.net 为例。
  2、把用第二种方法下载的&weex-dev 文件中 /ios/sdk 文件先上传的已创建好的 git 仓库中。
  3、我们知道&&之所以能下载到你想要的文件,全是因为&&的Specs库中对应的 xx.podspec.json 文件中的配置在起作用。
  4、所以我们需要先把 github 上的 Specs 库下载到本地,具体操作可以搜下&&的高级使用方法。
  5、然后在你本地的&Specs 库中找到&WeexSDK 的&xx.podspec.json 文件,不同版本会对应一个&xx.podspec.json 文件,然后用文本编辑器打开,修改里面的内容,下图是随便找的例子,大致都一样。
  6、把&"git": "/tanglimei/120301.git", 对应的链接换成你在 http://git.oschina.net&上仓库地地址。
  7、完全按照第一种方式操作,之后那么你的工程中添加的酒只有 sdk 这个文件了。 注意你在 podfile 文件中所要 pod 的文件版本号一定要是你刚才修改对应的版本号,比如你是在 0.9.5 的版本中修改的文件,那你就在&podfile 文件中写
  pod 'WeexSDK', '<span style="color: #.9.5'
  8、如果要更新,先下载最新的 sdk 然后按以上操作执行,就可以了。
如果集成中有什么问题,欢迎留言讨论。这里贴出官方文档的集成教程:https://weex-project.io/cn/guide/integrate-to-your-app.html
阅读(...) 评论()}

我要回帖

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

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信