我使用的Xcode是这样式儿的:
1、集成framework报错Undefined symbols for architecture armv7#
合作伙伴发来的framework集成到我们胖杂大的项目里面之后,真机跑起来 没有问题 棒棒的 ,然后打包发测试,接着就报错了: command+b也报错 直接打包也报错 同一个错误,见下图:很明显是 这个framework的原因,我的项目有要armv7 但是这个framework是arm64。
(armv7,armv7s和arm64,i386,x86_64这些都代表什么网上好多资料 可以搜索了解一下,包括xcode配置Architecture的原因建议都了解了解)
为了进一步确定自己想的对不对,使用lipo -info 查看framework架构信息看看, 使用下面俩方式的命令查看
cd /Users/LYPC/Desktop/qibeiSDK/QiBeiNewSDK.framework
lipo -info QiBeiNewSDK
或者
lipo -info /Users/LYPC/Desktop/qibeiSDK/QiBeiNewSDK.framework/QiBeiNewSDK
运行结果如图所示:可以看到每个framework支持的架构都有哪些
到此 可以得出如何解决:
1、重新制作这个framework,增加armv7架构的支持;
2、把自己项目里面的armv7删除了;
处理好之后 运行 没问题、编译没问题,然后进行打包。
好吧 又出问题了:IPA processing failed
2、Xcode11打包报错IPA processing failed#
原因:项目使用的SDK支持了i386、x86_86架构,iOS13不支持模拟器架构了,所以必须强制去除!!
去除方法:
1、使用低版本的Xcode打包,低于Xcode11就可以了;
2、去除对一个sdk中的i386、x86_86架构;
第2种方法 这个得在项目里面一个一个排查了,以我的demo为力 我查看了所有里面的framework(自制的都是),发现这两个是含有i386、x86_86的:
删除i386、x86_86支持:
lipo -remove i386 AipOcrSdk -o AipOcrSdklipo -remove x86_64 AipOcrSdk -o AipOcrSdk
把所有含有i386、x86_86的sdk这么去除之后 从新打包即可。