framework

  1. framework分静态库和动态库,制作方法大致相同,区别在build settings/Linking/Mach-O type的设置上;
    动态库:dynamic Library
    静态库:static Library

  2. 动态库是可以动态更新的,具体的方法暂时不用,不放心使用。一般我们用静态库就好了。

  3. 添加了文件后,头文件需要加载到build phases的Headers的pulic选项中,如果在private或project中,是不公开的,其他人在用这个framework时,引用头文件会报错。

  4. 设置一些编译选项,虽然到现在也不知道具体有什么用:
    Architechture/build active architechture only : NO
    Linking/dead code stripping : NO

  5. 当然,为了在外部更好的调用我们的framework库,最好用一个公共的头文件包含我们framework中的所有头文件。

  6. 最后就是framework的编译了,执行cmd+B就行,但是我们要编译两个版本,一个simulator,一个真机的,两个版本的区别是在指令集上;
    simulator:运行在Mac电脑上,cpu是intel的,指令集是 i386 和 x86_64等。
    真机:运行在iphone上,cpu是arm系的,指令集是arm7,arm7s,arm64等。
    所以,为了framework能同时使用在真机和simulator上,最后要将两个版本framework中的'目标文件' 合并:

sudo lipo -create 模拟器版本目录/目标文件 真机版本目录/目标文件 -output 目标文件

然后将最后的目标文件随便拷贝到模拟器或真机版目录中,那个版本的framework就可以提供给他人使用了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容