封装framework
一、打开Xcode,新建Framework工程
二、创建功能类或拖入已有的功能类
三、更改Xcode项目配置
3.1
修改Scheme下 Build Configuration为release
3.2
Build Settings -> Architectures -> Build Active Archiecture Onely设置为NO
Xcode 12以前,模拟器不支持arm64。不需以下设置。如果Xcode 12未做以下设置,在合并的时候会报have the same architectures (arm64) and can't be in the same fat output file
Build Settings -> Architectures -> Excluded Architectures -> Release添加 Any iOS Simulator SDK为arm64
3.3
设置项目兼容的最低版本
3.4
Build Settings -> Linking -> Dead Code Stripping设置为NO
Build Settings -> Linking -> Link With Standard Libraries设置为NO
Build Settings -> Linking -> Mach-O Type设置为Static Library
3.5
Build Phases -> Headers -> 添加Public(要暴露的头文件)跟Project(.m文件)文件
3.6
引入外部需要使用的头文件
四、编译模拟器跟真机的framework文件
五、进入命令行合并模拟器与真机的framework文件
5.1
命令行输入/Users/用户名/Library/Developer/Xcode/DerivedData/,找到编译framework的文件夹
5.2
进入文件夹TestFramework-hhtwlekmdvgqlyfsqhvgpudgmgog -> Build -> Products里面存放着模拟器与真机的framework文件
5.3
合并模拟器与真机的framework文件
终端输入 lipo -create 真机xxx.framework/xxx 模拟器xxx.framework/xxx -output 保存文件的路径/xxx
5.4
将合并完成的文件xxx。替换掉项目中Products下的xxx.framework的xxx
保存xxx.framework。将此文件导入到你需要集成的项目中。在自己电脑上打包 SDK,无论嵌入哪个工程,调试都可以看到源代码。这是因为framework是在你的电脑上打包的,所以你的电脑存在framework对应的符号表。在其他的电脑上调试的时候就看不到源码了。