如何使用Carthage将外部框架集成到iOS项目?
Carthage是适用于macOS和iOS的简单依赖项管理器。 您可能会认为它是Cocoapods的替代工具。
使用迦太基的一些优点
- 迦太基不会修改您的Xcode项目
- 迦太基获取并构建项目以创建框架。 您可以完全控制所使用的框架。
- 没有中央机构来强制图书馆作者提交其代码(或吊舱)。 Github上的任何框架项目都可以通过Carthage作为依赖项下载。
- 迦太基可以通过使用动态框架来共享Swift代码,Objective-C代码和图像之类的资产。 (注意:iOS 8或更高版本支持动态框架)
如何安装?
您可以从https://github.com/Carthage/Carthage/releases下载Carthage.pkg
我更喜欢使用Homebrew。 安装完Homebrew之后。 打开您的终端运行brew update
并brew install carthage
。 准备好定义项目依赖项。
获取框架
1-在您的项目文件夹中创建一个Cartfile
2-在Xcode或您喜欢的文本编辑器上打开Cartfile并添加依赖项。
我只集成了一个依赖项,但是您可以在此文件中列出所有依赖项。 现在保存并关闭您的Cartfile。
3-返回终端并通过以下方式导航到项目的主目录
cd ~/Path/To/Your/Project
4-使用此carthage update --platform iOS
命令建立依赖关系
由于使用--platform iOS
选项,因此您在命令框架中输入的内容仅适用于iOS
Cartfile.resolved
包含下载的Carthage依赖项的版本。
Carthage/Checkouts
包含每个依存关系的源代码。
Carthage/Build
包含要集成到项目中的构建框架。 这些框架有时是从Github发布页面下载的,有时是通过使用Checkouts文件夹中的源代码从头开始构建的。 (您可以在Build文件夹中有框架,而Checkouts文件夹中没有代码,这意味着框架是从Github下载的)
整合框架
您需要链接创建的二进制文件并创建运行脚本,然后项目就可以运行了。 逐步框架集成
1-返回Xcode,然后在项目导航器中单击项目。
2-选择项目目标
3-选择构建阶段
4-将您的libraryName.framework
文件添加到“使用库链接二进制文件”部分(您可以从Finder拖放)
5-创建运行脚本
在应用程序目标的“构建阶段”设置选项卡上,单击“ +”图标,然后选择“新建运行脚本阶段”。 创建一个运行脚本,在其中指定外壳程序,然后将以下内容添加到外壳程序下方的脚本区域:
/usr/local/bin/carthage copy-frameworks
该脚本解决了通用二进制文件触发的App Store提交错误,并确保归档时复制了与位码相关的必需文件和dSYM。
6-将路径添加到要在“输入文件”下使用的框架
7-将复制的框架的路径添加到“输出文件”
通过在输入文件旁边指定输出文件,Xcode仅在输入文件已更改或输出文件丢失时才需要运行脚本。 这意味着当您尚未使用Carthage重建框架时,肮脏的构建会更快。
您的项目已经可以使用其依赖项运行了。
结论
尽管迦太基需要为添加到Cartfile中的每个新依赖项进行一些手动操作,但是最好不要使用其他工具修改项目文件。
迦太基👍