辅助pod通过编译的几种命令以及大文件上传gitlab的lfs技术

pod lib lint和pod repo push命令的几种常用命令后缀

–use-libraries使用静态库,如果在工程中使用到了静态库,但不在编译的时候加上这句话,就不能编译通过。如果私有库中存在.a文件,那么必须加上这个后缀。
–allow-warnings允许警告,警告可能会导致编译不能通过,一般需要加上它。
–sources=BIFaceSDK,BIEncrypt说明库的依赖关系,这里说明了库依赖于BIFaceSDK,BIEncrypt这两个pods。
–skip-import-validation和–skip-tests这两个命令可以跳过部分验证环节,如果发现工程怎么都lint不过,那么可以尝试一下这个。
绕过验证的命令:

pod lib lint --use-libraries --allow-warnings --sources=BIFaceSDK,BIEncrypt --skip-import-validation --skip-tests

上传podspec文件的命令(绕过验证):

pod repo push BIVerifyEngine BIVerifyEngine.podspec --skip-import-validation --use-libraries --allow-warnings

需要注意的地方:
这样操作之后,确实可以实现pod的更新,但是最终工程中的pod可能会发生丢失部分文件,找不到索引等意外。因此,还是要谨慎操作哈!
其他黑科技:
直接修改控制pod工程编译过程的源文件validator.rb。
1.终端:gem which cocoapods。
2.输出:/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.0.rc.1/lib/cocoapods.rb。
3.终端:open /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.0.rc.1/lib/ 可以进入lib目录,在当前lib目录下有个cocoapods文件夹,进入,validator.rb文件就在这个文件夹里。
4.通过sudo vim(文件地址)可以打开文件,然后通过点击i就可以开始修改了。
5.修改这个文件的xcodebuild中的部分内容,可以修改检查过程,解决一些像x86_64,i386,不支持模拟器的问题。

通过lfs向gitlab上传大文件

业务场景:
gitlab单次上传的文件限制是100M,如果要上传大文件并交由gitlab进行版本控制该怎么实现呢?
实现原理:
不在gitlab上直接存储大文件,而是把大文件存储在另外一个托管平台,gitlab上存放它的索引,这样既可以实现对它的管理,也避免了大文件存储,在下载的时候借助这个索引来找到相应文件就可以了。这就是lfs实现的效果。
安装lfs:
1.安装HomeBrew :/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
2.在HomeBrew上安装git-lfs:brew install git-lfs
3.安装lfs:git lfs install
lfs常用命令:
git lfs track “文件名”:进行大文件追踪,例如git lfs track “*.a” 追踪所有后缀为.a的文件。
git lfs track:查看现有的文件追踪模式。
git lfs ls-files:显示当前跟踪的文件列表。
注意点: gitattributes文件就是我上面提到的索引文件,它需要被提交至仓库,它保存了文件的追踪记录。将代码 push 到远程仓库后,lfs跟踪的文件会以“git lfs”的形式显示。clone 时 使用’git clone’ 或 git lfs clone都可以。
在pods集成中: lfs和pods可以没有直接的联系,lfs是用来上传大文件的,pod是用来集成第三方库的,一般在pods集成中遇到的大文件的问题,特别是一些较大的静态库,就需要用到lfs技术。

你可能感兴趣的:(iOS开发)