封装sdk
特别提示:如果不要源代码安全,直接可以源码提供.其他如下
封装sdk
1.直接二进制文件 .a,还需要搭配头文件和资源文件
2.动态framework 没必要,没有共享的可能
3.静态framework = .a+头文件,还需要加资源文件bundle
选择3,静态framework+bundle实现
具体
bundle 直接选择文件夹,把需要的资源放进去,把文件夹后缀改为bundle即可
静态framework
1.新建项目,选择framework

2.修改配置参数
TARGETS >>> General >>> Deployment Info 设置设备和最低支持版本
TARGETS >>> Build Settings >>> BaseSDK 改成 iOS
TARGETS >>> Build Settings >>> Supported Platforms 改成 iOS
TARGETS >>> Build Settings >>> Build Active Architecture Only 改成 NO(表示支持所有架构)
TARGETS >>> Build Settings >>> Excluded Architectures Debug或Release下添加Any iOS Simulator SDK,值为arm64(在模拟器下排除arm64架构,原因是因为m1的模拟器也是arm64)
TARGETS >>> Build Settings >>> Dead Code Stripping 改成 NO
TARGETS >>> Build Settings >>> Link With Standard Libraries 改成 NO. 避免重复添加
TARGETS >>> Build Settings >>> Mach-O Type 改为 Static Library (静态库的意思,只有系统的framework里有的是动态库,自制的都是静态库)
TARGETS >>> Build Settings >>> Other Linker Flags 添加-ObjC(如果用了分类加这个参数)
3.显示product目录
a.进到项目根目录 b.打开xcodeproj里的project.pbxproj文件
c.在打开的project.pbxproj文件搜索“ productRefGroup ”关键字,搜索结果可能有多个,每个项目的键值不一样具体看项目,找到匹配对象,后面跟着“ / Products / ”后缀的才是要修改的
把mainGroup等号右边的值复制到productRefGroup等号右边,cmd+s保存,Xcode会自动刷新,Products索引就可以显示出来了。
不管是创建App还是framework、bundle,没有Products索引的话都可以通过这种方法显示出来,在找目标文件时会方便很多。

4.设置framework头文件


5.运行


如图是最后的目标文件
好了,该去给调用方提供使用文档了
网友评论