CocoaPods:公开Pod依赖私有Pod时trunk push失败求助
依赖私有Pod的公开Pod创建方案及问题解决
核心结论
可以创建依赖私有Pod的公开Pod,你遇到的pod trunk push失败问题,是因为CocoaPods Trunk的校验流程默认仅查询官方Specs仓库,不会自动读取你本地指定的私有源。
解决pod trunk push失败的方法
执行push命令时,显式指定私有源和官方源,让Trunk校验时能找到私有Pod的spec:
pod trunk push --sources='https://github.com/PRIVATE_REPO_GIT/Specs.git,https://github.com/CocoaPods/Specs.git'
该命令和pod lib lint的参数逻辑一致,Trunk会从两个源中查找依赖的私有Pod。
实现用户一行Podfile代码安装的需求
要让用户仅需添加你的Pod依赖就能同时获取公开和私有仓库,可通过以下方式:
在你的公开Pod的
.podspec文件中添加sources配置,指定依赖的源列表:spec.sources = ['https://github.com/PRIVATE_REPO_GIT/Specs.git', 'https://github.com/CocoaPods/Specs.git']这样用户在Podfile中仅需添加
pod 'MY_POD_NAME',CocoaPods会自动从你指定的两个源中拉取你的Pod及其依赖的私有Pod。注意:如果你的私有Pod仓库是权限控制的(需要认证才能拉取),用户需要先配置好私有源的访问权限(比如通过
pod repo add添加私有源并设置SSH密钥/用户名密码),否则拉取私有Pod时会失败。这种情况下,需要在你的Pod的README中明确告知用户前置配置步骤。
内容的提问来源于stack exchange,提问作者Z.Abbas
相关产品推荐
相关产品推荐

