1.创建一个项目工程FddLibDemo
然后选中target创建静态库
第二步创建静态库.a(备注选择Framework既可以创建静态库Framework,也可以创建动态库Framework)
创建完成后这个时候项目中多了一个FddStsticLib target 一个FddStsticLib文件夹 一个FddStsticLib products.
3.需要选中自己的静态库文件夹FddStaticLib
创建自己的核心代码文件
4.选中工程的target 添加创建的静态库到项目中
5.将静态库中需要暴漏出来的头文件添加到Copy Files中
切换target 为静态库 然后target 选中静态库将静态库中需要暴漏出来的头文件添加到Copy Files中
6.修改默认支持的架构(选择NO的话意思是支持所有的架构)
CPU架构
模拟器:
i386:iphone5/iphone5c以下的模拟器
x86_64:iPhone5s以上的模拟器
真机:
armv6:iPhone、iPhone2、iPhone3G、iPod Touch(第一代)、iPod Touch(第二代)
armv7:iPhone3Gs、iPhone4、iPhone4s、iPad、iPad 2
armv7s:iPhone5、iPhone5c
arm64:iPhone5s、iPhone6、iPhone6p、iPhone6s、iPhone6sp、iPhone7、iPhone7p、iPhone8、iPhone8p、iPhoneX
arm64e:iPhone XS、iPhone XS Max、iPhone XR
静态库只要支持了armv7 就可以支持armv7s
7.Debug与Release模式切换
Release是发行版本,比baiDebug版本有一些优化,文du件zhi比Debug文件小 ;Debug是调dao试版本,Debug和Release调用两zhuan个不同的底shu层库。
一、"Debug是调试版本,包括的程序信息更多"
二、只有DEBUG版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。
三、REALEASE不包含任何调试信息,所以体积小、运行速度快。
8.最后command+B编译一下就可以从Framework文件夹下获取到需要的lib文件(选中静态库目标)
9.合并静态库,合并模拟器和真机的静态库这样就可以即支持模拟器 又支持真机调试
lipo -create Debug-iphoneos/libFddLib.a Debug-iphonesimulator/libFddLib.a -output libFddLib.a
删除冲突的架构
lipo SNSHumanMachineSDK -remove arm64 -output SNSHumanMachineSDK