如何使用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 updatebrew 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中的每个新依赖项进行一些手动操作,但是最好不要使用其他工具修改项目文件。

迦太基👍