1.首先创建一个framwork的工程,我是简单创建一个类,里面写了一个简单的方法


2.需要注意的是这个要暴露出去

3.build一下 show in finder 然后在终端上lipo -info +我选中那个文件的路径(这个是可执行文件)至于如何生成支持所有模拟器和真机下的framwork文件 参考我的上一篇文章 iOS 制作.a静态库 中的第二点和第三点,

4.然后把debug模式下 支持模拟器的framwork拖到测试工程中,直接运行 可能要出这样的问题 原因:这样直接拖进去是动态库,动态库 动态库 重要的事情说三遍 你还需要把这个库添加到工程中 如下面第二张图 添加你自己的framwork库就可以了 至于如何看你的framwork库是不是动态库 打开终端 输入 file + 你的framwork的执行文件的路径(是那个黑色的exec的文件是framwork的执行文件 别搞错了)


5.拖到工程中测试 注意此时测试的framwork的动态库

6.接下来我就讲讲framwork静态库的制作,首先我先把我测试工程中的framwork删掉 记得把linked那的framwork也删掉,这个原来的那个动态的framwork(下面第一张图),然后在你自定义的那个framwork工程中,在build setting中 mach-o Type 这一项设置Static Library这的设置是把它设置成静态库(下面第二张图), 在重新build一下 你可一打开终端 输入 file + 你的framwork可执行文件的路径,会显示类似这样的信息 .....current ar archive random library 此时说明就是个静态库文件


7.编译通过以后在把打包成的静态的TestFramwork.framework文件拖到测试工程中测试通过就可以了
网友评论