CocoaPods私有库创建遇到的问题

一、前言

在iOS开发中,为了满足企业内部的一些组件化需求,往往需要创建一些公用的代码,这些公用代码往往是不希望被公开的,此时一般可以选择submodule或者CocoaPods库的形式。

如果选用submodule,直接上传到自己的私有远程代码仓库就能达到目的。对于CocoaPods库的使用,则需要创建自己的私有库。

二、创建私有库遇到的问题

私有库的创建这里不再赘述,在互联网上已经有许多博客你可以进行参考,当然你也可以查看官方文档

1.私有库的dependency找不到

假如你已经创建好私有库A,并想在私有库B中使用私有库A,在库B的.podspec文件中你需要制定依赖:

s.dependency 'pod projectName(A)', '~> version'

校验sepc可用性时,执行以下命令:

pod sepc lint 文件名.podspec

此时由于你当前工程B依赖的工程是私有库,于是会报错:

- ERROR | [iOS] unknown: Encountered an unknown error (Unable to find a specification for `XSLKeyChainCache (~> 0.1.0)` depended upon by `XSLOpenUDID`) during validation.

原因:

校验podspec文件时会到远程podspec库查找相关依赖,默认只会到官方specs库校验,此时需要指定远程specs库去校验。

解决:

  1. 指定pod spec文件校验地址

     pod sepc lint 文件名.podspec --sources='http://[privateLibName]/cocoaspecs.git,https://github.com/CocoaPods/Specs.git'
    
  2. 引用当前私有库的podFile中指定source为私有库地址

    source http://[privateLibName]/cocoaspecs.git'
    source 'https://github.com/CocoaPods/Specs.git'
    

2.将本地podspec推送到远程私有spec库时因为警告失败

当你想把本地.podspec文件推送到远程specs仓库时,你需要执行:

Pod repo push 本地spec库名 本地.podsepc文件

如果.podspec文件存在警告时不能成功push。

解决:

Pod repo push 本地spec库名 本地.podsepc文件 --allow-warnings

不过为了严谨,最好把产生的警告解决掉再推送到远程仓库,以免对你的同事造成困扰。

更多相关指令你都可以用–help查看:

pod repo push --help

参考

  1. https://github.com/CocoaPods/CocoaPods/issues/2543

  2. http://guides.cocoapods.org/making/private-cocoapods.html

  3. http://guides.cocoapods.org/syntax/podfile.html#source

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值