在ios开发中,每个工程都会用到别人封装的一些好的框架,但是这些框架不一定全部支持真机和模拟器测试,所以我们需要提前判断一下它们是否支持真机或者模拟器,而且我们在制作自己的封装库时,如果我们想我们的框架能够既支持真机又支持模拟器,那就需要对生成的库进行合并!
判断framework或.a文件支持框架:
lipo -info /Users/.../xFramework.framework/xFramework
lipo -info /Users/.../libXYPlatform.a
结果
Architectures in the fat file: xsdkFramework are: armv7 arm64 不支持模拟器
Architectures in the fat file: libUPPayPlugin.a are: armv7 arm64 i386 x86_64 支持真机和模拟器
framework的合并
1.lipo -create /Users/.../RKPlatform.framework/RKPlatform /Users/.../RKPlatform.framework/RKPlatform -output /Users/.../Desktop/RKPlatform
前两个是分别支持真机和模拟器的framework的路径 -output后是合并后输出可执行文件的路径
2.然后把生成后的可执行文件RKPlatform替换合并前任意一个framework里面的可执行文件RKPlatform就OK了
网友评论
执行命令后报错:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
这是怎么回事博主
lipo -create
/Users/.../RKPlatform.framework/RKPlatform
/Users/.../RKPlatform.framework/RKPlatform
-output 之前的这两个路径,有什么区别?
第二个路径,不应该是:
/Users/.../libXYPlatform.a ?