iOS 打包framework(包含第三方framework或.a文件)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 打包framework(包含第三方framework或.a文件)相关的知识,希望对你有一定的参考价值。
参考技术A 1.创建framework工程2.将framework拖进工程中,工程分两部分,一个是原始文件(红色部分),一个是我需要进行封装的文件(蓝色部分):
3.将bitcode置为NO
4.1 选择工程->targe->build setting,在搜索框中搜索linking,进行如下设置
4.2 将Build Active Architecture Only 设为 NO
5.1 把要公开的头文件已到Public中去,在使用.framework时只能调用公开.h文件中的声明。
5.2 完成上述步骤之后,在HYSDK.h文件中,把所有需要暴露的.h文件都用#import < HYSDK/PublicHeader.h>引入,记住一定要将所有的需要暴露的.h文件都写在给定位置,不然编译后生成的.framework在引用的时候会有警告;
6.开始编译,选择Generic ios Device 或者 真机 或 模拟器,编译一下,再选择模拟器环境编译一下
9.创建成功之后。新建工程。将新的framework再倒入进去。配置相关依赖库即可。如果报找不到第三方的库,则需要将第三方SDK.framework倒入进来即可。
iOS打包Framework真机和模拟器兼容合并版本 - 详细攻略步骤
打包Framework,测试时:
1、用模拟器打包,测试时只能跑在模拟器
2、用真机打包,测试时只能跑在真机
那么怎么做到一个版本兼容以上两种场景呢?
解决如下:
1、打开终端
2、输入
lipo -create 【模拟器打包path】 【真机打包path】 -output 【导出兼容版本path】
PS:每个单词之间记得加空格。
======================= 示例 Demo==========================
准备前提:
-- 假设我们包已经完成,并在模拟器和真机都能编译通过。
-- 先分别在模拟器下和真机下编译通过。
实现步骤:
1、右击打开包,在finder显示
2、正常我们会看到这些,(这里我一般习惯设置成Release环境下),重点是第三个红框,这就是我们要合并的东西。
3、这里我为了路径简短(便于下面的观看),在桌面新建文件夹:
然后把刚才show in finder的两个包文件,整体拷贝到对应的文件夹下,如图:
4、打开终端:拖动上图蓝色选中到终端,查看路径(为了方便下面可以直接拷贝路径)
5、运用我开头写的命令:
lipo -create /Users/MACBOOK/Desktop/合并Framework/模拟器/IntelligentCollegeToB.framework/IntelligentCollegeToB /Users/MACBOOK/Desktop/合并Framework/真机/IntelligentCollegeToB.framework/IntelligentCollegeToB -output /Users/MACBOOK/Desktop/合并Framework/IntelligentCollegeToB
6、结果如下:
会在这里多出一个文件,这个文件就是合并了模拟器和真机的兼容证明,下面用这个替换就行了。
7、最后的就很简单了
我们拷贝一份真机下的包,然后将第6步中得到的文件替换进去,最终就是兼容版本包。
以上是关于iOS 打包framework(包含第三方framework或.a文件)的主要内容,如果未能解决你的问题,请参考以下文章
iOS 打包.framework(包括第三方图片xibplist文件)详细步骤及需要注意的地方