今天给app打包时,Xcode报错:Undefined symbols for architecture armv7
。
于是百度了下,直觉告诉我解决方法就在排在第一的 Stack Overflow。
LaunchLiveViewController
是我引用的一个第三方的头文件,所以我理解问题就是:我引用的静态库不支持armv7。怎么解决呢,又是一脸懵逼。遂百度了下静态库。找到一篇博客 手把手教你制作.a静态库(iOS开发)。知道静态库是怎么一回事后,按照步骤自己做了个静态库,真机测试ok。可是打包还是报错,原来静态库分debug版本和release版本。
Tip:一个超好用的命令可以查看静态库支持哪些cpu架构
Step 1:在终端输入:$ lipo -info
Step 2:将.a拖入终端回车
之后我重新在release模式下编译了静态库,用lipo -info测试ok,打包成功,问题得到解决。
总结:
程序中业务逻辑的问题是最好解决的,因为业务逻辑的本质是数据流动,只要顺藤摸瓜就能找到原因。我最担心的是环境问题,这类问题千奇百怪没有规律,又不是经常出现。但是一旦遇到有很耗费时间,所以有必要记录下来。如果你遇到和我同样的问题,希望这篇文章可以帮你解决问题,节省时间。
引用&感谢@哇咔咔
手把手教你制作.a静态库(iOS开发)
https://stackoverflow.com/questions/6429494/undefined-symbols-for-architecture-armv7