s.vendored_libraries = '/Pod/Classes/*.a'
官方文档: https://guides.cocoapods.org/syntax/podspec.html#vendored_libraries
non_arc_files = 'Pod/Classes/lib/OpenUDID/*','Pod/Classes/lib/Regex/*','Pod/Classes/lib/ZipArchive/*'
s.exclude_files = non_arc_files
s.subspec 'no-arc' do |sna|
sna.requires_arc = false
sna.source_files = non_arc_files
end
s.frameworks = 'UIKit', 'MapKit','libicucore.A'
s.ios.library = 'icucore'
https://guides.cocoapods.org/syntax/podspec.html#frameworks
https://guides.cocoapods.org/syntax/podspec.html#libraries
s.dependency 'FMDB', '~> 2.5'
s.dependency 'OpenUDID', '~> 1.0.0'
s.dependency 'ZipArchive', '~> 1.01h'
https://guides.cocoapods.org/syntax/podspec.html#dependency
s.source = { :git => "http://gitlab.xsl.com:10080/iosteam/XSLUser.git", :branch => 'master' }
如果branch 上的代码有了变动 ,使用方直接 pod install 或者 pod update 是不行的。
因为pod 对 branch 或者 tag 的代码在本地有缓存,需要clean缓存之后再 pod install 或 pod update
pod cache clean PodName
同时需要删除 pod 目录下的 文件
if [ -d /Pods/XSLUser ];then
rm -fr /Pods/XSLUser
fi
最后才执行
pod update --no-repo-update
s.dependency 'FMDB', '~> 2.5' 这个 FMDB 可以是 repo master 上的库,也可以是 私有 repo 上的库。
如果是私有 repo 上的库 ,lint 时需要 指明。
$pod spec lint QZCrashLogManager.podspec --allow-warnings --sources=xsl-mobile-cocoaspecs,master
lint 通过之后 push 的时候依然需要 --sources
$pod repo push zhiguang-repo QZCrashLogManager.podspec --allow-warnings --sources=xsl-mobile-cocoaspecs,master
注: xsl-mobile-cocoaspecs 是我自己创建的 私有 repo,关于如何创建私有repo 也很简单 传送门