iOS开发经验 | Undefined symbols for architecture armv7

今天给app打包时,Xcode报错:Undefined symbols for architecture armv7

iOS开发经验 | Undefined symbols for architecture armv7_第1张图片
WechatIMG19.jpeg.jpeg

于是百度了下,直觉告诉我解决方法就在排在第一的 Stack Overflow。

iOS开发经验 | Undefined symbols for architecture armv7_第2张图片
屏幕快照 2017-10-13 下午8.17.28.png.png

LaunchLiveViewController是我引用的一个第三方的头文件,所以我理解问题就是:我引用的静态库不支持armv7。怎么解决呢,又是一脸懵逼。遂百度了下静态库。找到一篇博客 手把手教你制作.a静态库(iOS开发)。知道静态库是怎么一回事后,按照步骤自己做了个静态库,真机测试ok。可是打包还是报错,原来静态库分debug版本和release版本。

Tip:一个超好用的命令可以查看静态库支持哪些cpu架构
Step 1:在终端输入:$ lipo -info
Step 2:将.a拖入终端回车

iOS开发经验 | Undefined symbols for architecture armv7_第3张图片
1507898762774.jpg.jpg

之后我重新在release模式下编译了静态库,用lipo -info测试ok,打包成功,问题得到解决。

总结:

程序中业务逻辑的问题是最好解决的,因为业务逻辑的本质是数据流动,只要顺藤摸瓜就能找到原因。我最担心的是环境问题,这类问题千奇百怪没有规律,又不是经常出现。但是一旦遇到有很耗费时间,所以有必要记录下来。如果你遇到和我同样的问题,希望这篇文章可以帮你解决问题,节省时间。

引用&感谢@哇咔咔

手把手教你制作.a静态库(iOS开发)
https://stackoverflow.com/questions/6429494/undefined-symbols-for-architecture-armv7

你可能感兴趣的:(iOS开发经验 | Undefined symbols for architecture armv7)