二、自己的仓库关联Carthage
从上面Carthage update时提示的错误我们不难发现要想支持Carthage, 我们的git仓库中必须有一个可以生成framework的Project,并且该Project开启了Scheme的分享功能。接下来我们就让上述的 MyCocoaPodsTestProject工程支持Carthage的update。
1、创建 framework project
首先在我们工程所对应的github目录下方创建一个Cocoa Touche Framework的工程。如下所示:
2、引入源代码
然后在这个framework工程中引入相关的源文件。
在引入相关的源文件后,在Build Phasea中的Header中的Public中添加对外暴露的头文件,如下所示:
在相关的.h文件中引入该framework所提供的相关头文件,此处类似pch文件的设置。
如果你创建的framework的Project的名字与你预期的不同,可以在Build Settings中的Product Name中进行设置,如下所示:
2、shared schemes
接下来就该设置Scheme的Share了,首先打开Manager Schemes…如下所示:
然后在Shared后方打钩即可。
3、framework的编译
使用终端进入到该工程目录中,使用carthage进行编译:
carthage build -no-skip-current
在我编译的时候遇到了上述的错误,不过Carthage的github主页给出了相关的解决方案,即使用xcodebuild进行编译,如下所示:
使用上述命令编译 结果如下所示:
使用xcodebuild编译后,我们又使用carhage build --no-skip-current试了一次,可以正常编译
进行编译后,创建相关的tag然后push到远端即可。
然后我们就可以在Carthage中正常使用我们的库了。
在引用相关库的时候需要添加上其库名,如下所示: