Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化 (2)

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

 

二、自己的仓库关联Carthage

从上面Carthage update时提示的错误我们不难发现要想支持Carthage, 我们的git仓库中必须有一个可以生成framework的Project,并且该Project开启了Scheme的分享功能。接下来我们就让上述的 MyCocoaPodsTestProject工程支持Carthage的update。

 

1、创建 framework project

首先在我们工程所对应的github目录下方创建一个Cocoa Touche Framework的工程。如下所示:

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

2、引入源代码

然后在这个framework工程中引入相关的源文件。

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

在引入相关的源文件后,在Build Phasea中的Header中的Public中添加对外暴露的头文件,如下所示:

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 在相关的.h文件中引入该framework所提供的相关头文件,此处类似pch文件的设置。

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

如果你创建的framework的Project的名字与你预期的不同,可以在Build Settings中的Product Name中进行设置,如下所示: 

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

2、shared schemes

接下来就该设置Scheme的Share了,首先打开Manager Schemes…如下所示:

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

  

 然后在Shared后方打钩即可。

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

3、framework的编译

使用终端进入到该工程目录中,使用carthage进行编译:

carthage build -no-skip-current

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

在我编译的时候遇到了上述的错误,不过Carthage的github主页给出了相关的解决方案,即使用xcodebuild进行编译,如下所示:

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 使用上述命令编译 结果如下所示:

   

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

使用xcodebuild编译后,我们又使用carhage build --no-skip-current试了一次,可以正常编译

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

进行编译后,创建相关的tag然后push到远端即可。 

  

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

然后我们就可以在Carthage中正常使用我们的库了。

   

Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

 

在引用相关库的时候需要添加上其库名,如下所示:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjypz.html