Table of Contents
- Introduction
- 前提条件
- 第一步:为项目新建Target
- 第二步:选择framework包含的文件
- 第三步:分享target
- 第四步:生成framework
- 第五步:测试framework
- 最后一步:生成release
<a id="1"></a>Introduction
Carthage作为Cocoa的依赖管理器,相比于CocoaPods,对项目的改变更少。Carthage的安装可以参考这里。
我们可以很方便地管理第三方依赖,但是该如何让自己写的框架支持Carthage,供其他人使用呢?本文将主要介绍为已有的项目添加Carthage支持。
<a id="2"></a>前提条件
如果是第一次写框架(framework),要记得将需要暴露给用户的接口(interface)用public
修饰,因为各个类和变量的默认修饰符是internal
,如果直接生成.framework
的话,是没办法使用这些类和变量的。
<a id="3"></a>第一步:为项目新建Target
原有的项目已经有一个target了,要生成framework的话,就需要在新建一个framework的target。如下图:
在Framework & Library
里选择Cocoa Touch Framework
:
设置好framework的名称:
<a id="4"></a>第二步:选择framework包含的文件
在项目的target中选中刚刚新建的framework target,在Build Phases
里,确保添加了需要编译到framework里面的文件:
<a id="5"></a>第三步:分享target
在左上角停止按钮旁,点击target,选择Manage Schemes
,勾选要分享的Scheme:
<a id="6"></a>第四步:生成framework
在项目的根目录里打开终端,运行
$ carthage build --no-skip-current
运行后,会在下面的目录里生成framework:
Carthage/Build/iOS/
<a id="7"></a>第五步:测试framework
这一步只是为了检验framework是否可用,虽然不做也是可以的,但是以防万一还是测试一下吧。
新建一个test项目,把刚刚生成的.framework
拖到test项目左边的navigation栏里:
这时候如果运行出错的话,别紧张:
需要在Build Phases
里新建一个New copy file phase
并添加framework:
之后就可以测试framework了,可以写一些代码,看看framework里的东西能不能用。
<a id="8"></a>最后一步:生成release
到Github网页上,在项目的release页面,新建一个release,并给这个release一个版本号,如v1.0:
填写版本号,Release title,Describe this release,点击Publish release就行:
这样就可以通过Carghage来导入framework了。例如,在项目根目录新建一个cartfile
文件,在里面写入
github "LinShiwei/ImageSlider"
再在项目根目录的终端里运行:
$ carthage update
Carghage就会自动下载framework到项目目录下。具体的添加过程可以看这里:Carthage/Carthage。
感谢您的阅读,有任何疑问可以在下方的评论区问我,欢迎访问我的github。
网友评论
但是我又遇到一个新的问题 ,我的 framework 里打算分装一些常用的三方库,我应该怎么在我的 framework 里处理,才能让我的 framework 关联到三方库