关于Carthage和Cocoapods基础部分就不做过多的说明。不懂的同学去搜索即有。我要说的是自己在使用两个依赖工具管理项目的一点心得。
1.Cocoapods创建私有库
私有库创建完成后,我们可以根据自己的需求podfile或者.podspec文件中添加私有库所需要的支持库,私有库完成后,我们需要让所有Schemes的 shared被选中,如下图1所示:
2.构建私有库
Carthage 只构建从.xcodeproj分享出来的 Xcode schemes。使用Terminal进入到私有库目录,可以通过运行carthage build --no-skip-current来检测所有的 intended schemes 是否构建成功,然后检查 Carthage/Build 文件夹。
如果运行命令的时候,一个重要的 scheme 没有构建成功,打开 Xcode 确保scheme is marked as “Shared”,这样 Carthage 可以发现它。
3.上传私有库到git
不上传 在cartfile 中引用本地项目进行 carthage update 时会报
***Skipped building XXX due to the error:
Dependency "XXX" has no shared framework schemes
原因不明(应该是跟.podspec文件中默认生成的git有关)。
大家可以根据自己的需求上传到服务器但是要注意 .podspec 文件中的
s.homepage= 'https://xxxx'
s.author= { 'Author' => 'account' }
s.source= { :git => 'git', :tag => s.version.to_s }
三个地方配置正确,不正确的话也会因为Permission问题出现错误。
上传成功后,Carthage、Cocoapods都可以使用git地址依赖管理。
4.Carthage使用依赖私有库
在Cartfile中添加git地址
git "https://enterprise.local/desktop/git-error-translations2.git" "development"
运行 carthage update,成功后在 target-> Build Phases -> Link Binary With Libraries 添加引用的framework,在target-> Build Phases-> Run Script 添加framework引用路径。
在需要引入的地方导入头文件就可以了。