使用CocoaPods管理项目
使用homebrew
安装cocoapods
brew install cocoapods
项目中使用CocoaPods
管理第三方SDK
# 创建Podfile
pod init
# 初始化安装默认依赖
pod install --verbose
# 更新依赖
pod update --verbose
# 更新仓库依赖
pod repo update --verbose
使用CocoaPods做组件化
创建SDK项目
# 使用pod命令创建SDK模版工程
pod lib create XXXSDK
.podspec文件语法说明
# 是否弃用
spec.deprecated = true
# 设置弃用的pod库的新名字,告诉使用者可以搜索新的库名
spec.deprecated_in_favor_of = 'NewMoreAwesomePod'
# 设置对其他pod或“sub-specification”的依赖
spec.dependency 'AFNetworking', '~> 1.0'
# 不支持ARC
spec.requires_arc = false
#支持多平台 编译参数 #-D是前缀,-Wno-format这个是gcc编译警告的参数
spec.compiler_flags = '-DOS_OBJECT_USE_OBJC=0', '-Wno-format'
# 设置的参数都会添加到最终的私有pod的target xcconfig文件中
# 【注意】这是设置pod库的target 命令
#OTHER_LDFLAGS 对应buildsetting的other linker flags
spec.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-lObjC' }
提交和发布
# 本地验证是否可以通过
pod lib lint --verbose --allow-warnings # 允许警告
# 验证资源是否通过
# https://github.com/xxx/XXXSpec.git为资源仓库地址
pod spec lint --sources='https://github.com/xxx/XXXSpec.git,https://github.com/CocoaPods/Specs.git' --allow-warnings
# 在GitHub上创建一个私有依赖资源仓库XXXSpec
# 将XXXSDK上传到XXXSpec
pod repo push XXXSpec XXXSDK.podspec --allow-warnings
参考链接
CocoaPods实现管理库、发布库、组件化
iOS SDK(第三方库)上传到github+ cocoapods管理
Cocoapods实现私有库开发和二进制发布
xcodebuild
将使用了CocoaPods的IOS项目打包为Framework+打包后的测试+PrefixHeader.pch使用
CocoaPods详解4:.podspec语法参考
ios sdk cocoapods自动编译
iOS SDK开发系列二之Cocoapods项目编译原理对比和Xcode环境变量介绍