关于CocoaPods私有库的那点事情

关于CocoaPods私有库的那点事情

私有库

组件化的基本操作
首先得安装好CocoaPods,不懂的童鞋出门右拐找百度
终端命令都是在podspec所在目录,除了pod lib create和pod install
步骤:
1、使用自带的模版库创建

pod lib create 工程名称

依据自己情况选择。平台:iOS/macOS 、 语言:Swift/ObjC 、 demo testing 、frameworks:Specta/Kiwi/None based testing :、 前缀:比如XM

2、编写好自己的库,放到与工程名.podspec同级的工程名目录下的Classes内
在这里插入图片描述
3、测试代码
终端到Example目录,然后pod install 安装。然后完善demo即可,打开Example下的workspcae,import你的代码进行测试。每次更新代码都要pod install才会加载最新的代码。

4、修改podspec文件
git上面创建代码仓库,得到主页地址和代码地址,我这里使用gitlab,使用git or 其他也可以的。
一般如https://github.com/user/projectname 和https://github.com/user/projectname.git
再创建一个索引git仓库,主页https://github.com/user/xxxxxrepo和https://github.com/user/xxxxxrepo.git,里面放你的podspce文件。
homepage写索引的主页,source写代码的git下载地址。为什么这样做呢,不然每次pod时候直接pod工程了。这里只.cocoapod拉取的是索引仓,但是pod下来的是库。

	name 		使用Pod时候的name
	version		pod版本
	summary		工程简介
	description  	更具体的描述
	homepage 	工程的主页	eg:https://github.com/user/projectname
# s.screenshots  = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"

―――  Spec License  ――――――
	license		证书,默认即可。

――― Author Metadata  ―――――
	author		作者
  # s.authors            = { "MiftMy" => "" }
  # s.social_media_url   = "http://twitter.com/MiftMy"

――― Platform Specifics ――――――
	platform		:ios, "9.0" #版本
  # s.ios.deployment_target = "5.0"
  # s.osx.deployment_target = "10.7"
  # s.watchos.deployment_target = "2.0"
  # s.tvos.deployment_target = "9.0"

――― Source Location ――――――
	source		库下载路径  eg:https://github.com/user/projectname.git

――― Source Code ―――――
	source_files		资源文件路径:同.podspec开始
	
	ios.deployment_target		iOS版本

――― Resources ―――――
	resource		单个资源文件
	resources		资源文件,路径同source_files一样,多个以逗号隔开。eg:ttf文件,"XImageEdit/**/*.ttf"
	preserve_paths

――― Project Linking ―――
	prefix_header_contents	pch包含的文件,然后每个文件就没必要都导入了。eg: ‘#import“Masonry”’
	library		依赖系统tdb库,去掉lib,
	libraries		多个以逗号隔开。eg:依赖libiconv,‘iconv’
	framework
	frameworks 	依赖系统的库,以逗号隔开

――― Project Settings ―――
	requires_arc	使用rac	
	dependency	依赖的三方库,多个就有多个dependency。eg:dependency 'AFNetworking', '~> 2.3'

附录附带一个栗子,栗子,栗子,大家可以餐烤。

5、代码没问题后本地校验一下
pod lib lint --verbose --allow-warnings
verbose是打印输出日志,allow-wanings允许警告,不然所有的警告都当错误提示了。
如果有错误,搜索** build,提示error的标签,然后再网上找,找到具体错误,按照提示修改即可。
也可以添加–fail-fast,一旦错误就立马中断校验。
如果有静态库,请添加–user-libraries
如果依赖自己的私有库,请添加pod的官方地址和自己的私有地址
看到xxxlib passed validation就代表本地校验没问题。

-sources='https://gitlab、xxxrepo.git','https://github.com/CocoaPods/Specs.git'

6、代码库关联索引库
第一次的时候才使用
pod repo add projectName https://gitlab/xxxx.xxxrepo.git
projectName可以随意,最好跟工程名字一样,方便查找。
然后在用户名/.cocoapods/repos/里面会找到你新建的仓库名字

7、上传代码到远端
git 打上标签,跟podspec上的版本一致,然后推送所有代码和标签。
使用命令推送到远端
pod repo push projectName projectName.podspec --allow-warnings
看到没有错误即成功。第一个projectName赛事第六步的名字,第二个是本地工程的名字,所以第六步我让你创建一样名字的。pod 搜索是podspec里面的name值,一般也取工程名称。

8、更新内容
每次更新,都需要更新一个版本号,修改内容,可以不用校验本地直接打标签、推送代码,只校验远程的。

9、别人使用你的私有库
在podfile头部添加source,官方的和自己的,就可以像平常使用pod 三方库一样。每次别人更新私有库的时候,你需要到.cocoa对应的库自己拉取索引文件,使用git fetch 加 git pull命令拉取。第一次没有索引库就自己添加,使用pod repo add projectName https://gitlab/xxxx.xxxrepo.git即可

source 'https://gitlab.xxxx
source 'https://github.com/CocoaPods/Specs.g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值