参考学习地址
https://www.jianshu.com/p/a15ad98bc965
创建步骤:
1、Xcode新建项目 - Frame & Library - Framework,将需要打包成framework静态库的文件资源等拖拽进该项目。
2、配置
Build Settings配置如下
Mach-o type:选择Static Library——当前为静态库
Build Active architecture only:设置为NO——意思是当前打包的.a支持所有的设备
Base SDK:选择为iOS
iOS Deployment Target:最低支持版本
build libraries for : 设置为YES,避免高版本不兼容
excluded architectures:配置成下面内容——避免后期合并时模拟器和真机内容有重叠导致错误
User Script Sandboxing :设置为NO——用途是控制用户脚本对系统资源和用户数据的访问级别, 设置为NO就不会去校验权限问题了
修改edit-scheme为release
Build Phases配置如下
Headers:将需要暴露出的文件放入Public
注意事项:
1、在自动生成的.h文件中引入头文件时,需要完整路径
2、编译成功后如何查看位置
实际位置在:
/Users/apple/Library/Developer/Xcode/DerivedData/项目名称-xaskhaskhkas/Build/Products/Release-iphoneos/项目名称.framework/项目名
3、合并模拟器和真机
合并:
lipo -create 模拟器下的.a 真机下的.a -output 新合并的静态库的存放路径
-output /Users/apple/Desktop/名称
4、最后如何使用
合并之后的文件
合并并替换后,就把真机部分复制出来使用就行
5、在制作UTS插件怎么用
6、使用第三方库注意点
***不能在.h文件中导入第三方库!!!,不然报错 ***
7、无法运行
- 检查是否都已经Podfile文件中版本修改为12
- 问题:Sandbox: bash(72928) deny(1) file-write-create
方法:build settings->User Script Sandboxing 修改为NO,用途是控制用户脚本对系统资源和用户数据的访问级别, 设置为NO就不会去校验权限问题了