podspec 生成私有库
在制作SDK的时候,我们的一些库能使用podspec 管理,这让业务使用比较方便,自己维护提供给业务方效率也高。
首先安装 pod,这里不再说安装pod
podspec 文件生成
- 在指定的目录下支持命令
pod spec create DemoSDK
- 编辑podspec文件
Pod::Spec.new do |s|
s.name = "DemoSDK"
s.version = "1.3"
s.summary = "-"
s.homepage = "git工程地址"
s.platform = :ios, "10.0"
s.authors = "username"
s.source = { :git => "仓库clone地址", :tag => s.version }
s.requires_arc = true
s.source_files = "framework/DataTrack/HTDataTrack.h", "framework/DataTrack/**/*.{h,m}", "framework/DataTrack/**/**/*.{h,m}" // 此处的路径开头为与podspec文件目录同级的文件开始,逐级使用*代替
non_arc_files = "framework/DataTrack/common/HTDataTrackReachability.{h,m}"// 需要特殊支持arc的类
s.exclude_files = non_arc_files
s.subspec 'no-arc' do |sna|
sna.requires_arc = false
sna.source_files = non_arc_files
end
// 依赖的库
s.dependency 'FMDB', '2.6.2'
s.dependency 'AFNetworking', '3.1.0'
s.dependency 'SensorsAnalyticsSDK'
end
检测podspec文件是否生效
执行命令 pod lib lint DemoSDK.podspec
可以在后面添加对应的参数来更好的处理
可选参数:
--verbose : 显示详细信息
--allow-warnings: 是否允许警告,用到第三方框架时,用这个参数可以屏蔽讲稿
--fail-fast: 在出现第一个错误时就停止
--use-libraries:如果用到的第三方库需要使用库文件的话,会用到这个参数
--sources:如果一个库的podspec包含除了cocoapods仓库以外的其他库的引用,则需要改参数指明,用逗号分隔。
--subspec=Name:用来校验某个子模块的情况。
- pod lib lint DemoSDK.podspec 遇到的坑
有些报错会有提示,安装提示执行就行。
我这边耗时比较长的问题就是
s.source_files = "framework/DataTrack/HTDataTrack.h", "framework/DataTrack/**/*.{h,m}", "framework/DataTrack/**/**/*.{h,m}" // 此处的路径开头为与podspec文件目录同级的文件开始,逐级使用*代替
网友评论