iOS 私有库

准备工作:

  1. 先检查下cocopod版本,最好版本至少在1.6.0.beta.1 及以上
  2. Git代码托管平台。比如GitHub、Gitlab、Bitbucket、开源中国、coding.net、csdn.net
1. 创建代码库和索引库
91B00982-15B9-42C6-B445-C0BEC9EC3EA6.png
238A85C9-B5B8-4466-A25C-0C4CC9BB35FD.png

:索引库有一个就可以了,这两个不需要写任何东西,创建好扔一边就行了。

2. 创建本地索引库

在终端执行下面命名就行

cd .cocoapods/repos
pod repo add 索引库名字  索引库地址

索引库里面用上面创建名字
地址在创建后会有比如https://gitlab.com/xxx/PrivateSpec.git

7D591178-CF0C-453C-BEB0-EA7CF6B4F608.png

执行一下ls 或者前往 .cocoapods/repos 看添加是否成功

2. 创建项目工程文件

终端 cd 到你要创建到路径下面,然后执行

pod lib create 代码库名字

固定步骤,这个就直接偷图了


2007398-96de8c96c322a3ef.png

然后我们会得到一个项目,不修改的话 我们会默认提交
项目名/class下面2级的文件,如果有需要可以自己更改source_files的格式
提交之后所有文件都会在一个文件夹下面,强迫症肯定不能忍,这个后面说,一般没什么必要改了,也是因为比较麻烦。

3. 准备提交

把需要提交的代码放到路径下面,然后修改.podspec文件,只挑了我用到的一些要修改的来说明

s.name         = "BaseLib" #工程的名字
s.version      = "1.0.0"  #工程的版本
s.summary      = "Gray's modularization BaseFramework."  #工程的摘要
s.description  = "Gray's BaseFramework demo"  #工程的描述
s.homepage     = "http://gitlab.com/作者名/BaseLib"  #工程的首页
s.swift_version = '4.0'  #工程的swift版本
s.ios.deployment_target = "8.0"  #工程的编译版本
s.source       = { :git => "#工程的git地址", :tag => "#{s.version}" } #创建的代码库git地址 https://XXXX.XXX.git
s.source_files  = "Classes", "Classes/**/*.{h,m}"  #工程需要引入的文件
s.exclude_files = "Classes/Exclude"  #工程不需要引入的文件
s.public_header_files = "Classes/**/*.h"  #工程需要暴露出来的头文件
s.resources = "Resources/*"  #工程需要引入的资源文件(图片,xib等)
s.resource_bundles = {'Resources' => 'XXX.framework/Resources/XXX.bundle'} #工程需要引入的bundle
s.frameworks = "ImageIO"  #工程依赖的framework
s.vendored_frameworks = [] #工程依赖的第三方framework
s.libraries = "iconv", "xml2"  #工程依赖的library
s.vendored_libraries = []  #工程依赖第三方的library
s.dependency "AFNetworking", "~> 3.0"  #工程依赖的第三方库
 

代码写好,podspec修改好就开始提交了,有些地方说验证修改后的podspec,但是因为改过很多次了 所以觉得没什么必要

4. 提交

cd 到项目文件夹,不是Example文件夹
如果是第一次提交的话

cd existing_folder
git init
git remote add origin https://gitlab.com/xxx.git

不是第一次就从这开始

cd existing_folder
git add .
git commit -m "注释"
git pull origin master(先拉一下代码,防止多人开发的时候别人有提交的代码)
git push -u origin master
git tag 1.0.0
git push origin 1.0.0

上传成功后 就可以在gitLab tag1.0.0下面看见代码,这个时候还是不能用的,还需要提交索引库

cd existing_folder
pod repo push PrivateSpec BaseLib.podspec

格式是pod repo push +索引库名字 +.podspec文件名
这个过程会有点小长,如果有Error 就按提示改就行了,一般都会很顺利

这个地方常见问题

如果私有库添加了静态库或者dependency用了静态库需要加上--use-libraries
想看见更详细的信息 后面加上 --verbose
忽略警告--allow-warnings
索引库地址--sources='xxx.git'
如果是OC和swift 的混编 加上--use-modular-headers(这个地方官方文档原话是Lint uses modular headers during installation..)
具体参考cocopod Command-line Reference文档

最后格式可能是
pod repo push PrivateSpec BaseLib.podspec --verbose --allow-warnings --use-libraries --use-modular-headers
这个就看 项目需求吧

4. 使用

和正常cocopod 的Podfile使用差不多的,在最前面加上

source 'https://github.com/CocoaPods/Specs.git'
#这里用的是索引地址
source 'https://gitlab.com/xxx/privatespec.git'

然后就可以

  pod 'BaseLib', '~> 1.0.0'

也有人把sorece 写在pod后面,这个就看个人习惯了

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

推荐阅读更多精彩内容