美文网首页
制作 iOS framework

制作 iOS framework

作者: 9a78541e0250 | 来源:发表于2017-06-01 17:20 被阅读28次

注:如果你创建的Framework不需要依赖第三方库,例如Masonry.framework,去掉或替换下面关于Masonry.framework的操作即可。

环境基于 Xcode 8.2.1

首先创建一个demo项目

image.png

然后在创建一个 target,选择 framework

image.png

把 Masonry.framework拖进项目中

image.png

写点代码。button最好不要拖到中间,也不需要做任何约束,这样运行后可以观察是否发生了变化。

image.png

这时候直接运行会发生崩溃

image.png

选择 Build Phases, 点击左上角的加号,选择New Copy Files Phase

image.png

然后选择 framework,并把Masonry.framework添加进去

image.png

这时就可以正常运行了

Screen Shot 2017-06-01 at 下午3.45.49.png

好,我们继续。在TestKit中创建一个TableViewCell.
注意在创建时要选择正确的 target

image.png

TableViewCell.m中写上代码

image.png

如果你发现在写
#import <Masonry/Masonry.h>
这句代码时,会报错,那请把Masonry.framework 加入到TestKit target 的引用库中,如下图。


image.png

好了,继续把TableViewCell.m中的代码完成。


接下来在故事版中拖一个UITableViewController,顺便完成一些代码,如下图

image.png

写完之后运行一下

Screen Shot 2017-06-01 at 下午4.09.13.png

嗯,看上去已经完成了!

创建一个新的项目,TestKitDemo2,把我们制作好的framework验证一下。
在TestKitDemo2中,创建同样的TableViewController,写同样的代码。

把相关的库都拖入进去。
下图中代码错误 Line 27  return 0; 应该为 return 1; 就不在重新截图了。
image.png

运行一下,会报错

image.png

还记得怎么添加 Copy files吗?添加一下就好了

image.png

继续运行一下,应该会崩溃吧?嘻嘻~

image.png

TableViewController.m文件中添加如下代码,你会发现报错

    #import <TestKit/TestKit.h>
image.png

重点来了(敲黑板)

现在我们切换回TestKitDemo的项目中,选择TestKit target -> Build Phases -> Headers 如下图

image.png

TableViewCell.h 拖到 Public

这里的意思是,公开头文件,不公开文件,那就没法用,同样,在import时会报错。而这里默认不在Public里,需要手动调整。
image.png

然后build TestKit ,记得 scheme不要错了哦~
然后把 TestKitDemo2 中的TestKit.framework 替换一下,替换完成后,查看Headers

image.png

同样不要忘记在Copy Files中添加哦~

忘记的话就会出现下面的错误

    dyld: Library not loaded: @rpath/TestKit.framework/TestKit
    Referenced from: /var/containers/Bundle/Application/D1F9C83D-09D2-4BC6-B83D-E70E4857A4F8/TestKitDemo2.app/TestKitDemo2
    Reason: image not found

好了,运行一下,完成,搞定!

相关文章

网友评论

      本文标题:制作 iOS framework

      本文链接:https://www.haomeiwen.com/subject/yvasfxtx.html