带有静态库的iOS应用程序在Ad Hoc Archive Build的启动时总是崩溃.无法在Xcode Debugger中重现

Cli*_*udo 11 xcode static-libraries ios

我们有一个使用静态Lib构建的应用程序,我们也正在构建用于分发.App和Lib在Xcode调试器中运行正常,或者在Xcode调试会话中加载到设备上.一旦我们在设备上放置Ad Hoc Archive构建,App就会崩溃.控制台日志语句表明它在Lib代码中崩溃,但崩溃报告没有象征Lib代码.

  • 无法在Xcode Simulator中重现.
  • Guard malloc,Guard Edges什么都没显示(但这些只能在模拟器中运行).
  • 没有泄漏
  • 使用Xcode 4.3.2
  • 应用目标4.3或更高版本.
  • Lib目标3.0或更高版本.
  • 其他链接器标志= -ObjC
  • Lib在Target"Link Binaries with Libraries"中设置为"Optional"
  • Thumb支持关闭(使用LLVM)

在控制台上看到2个可能有用的例外,但到目前为止还没有在网上做任何事情,这对此有很大帮助:

Application 'x' exited abnormally with signal 12: Bad system call: 12 (mostly)
Application 'x' exited abnormally with signal 12: Bad system call: 11 (rarely)
Run Code Online (Sandbox Code Playgroud)

我们在其他地方看到了带有Recursion的静态库的问题.但是我们的Lib没有任何递归.

难倒,需要更多的想法.

Cli*_*udo 14

弄清楚了!!在桌子上撞了4天后.我们不知道它为什么会起作用,但确实如此.如果它对其他人有帮助,这里是为我们解决它的设置.在静态库项目的构建设置的"部署"部分中设置这些:

SET "STRIP LINKED PRODUCT" (STRIP_INSTALLED_PRODUCT) = NO
SET "STRIP STYLE" = DEBUGGING SYMBOLS.
Run Code Online (Sandbox Code Playgroud)

我们通过反复试验发现了这一点,但现在注意到在线重新设置用于构建iOS静态库的Xcode项目的一些讨论使用此设置.没有讨论为什么,但它存在.

如果有人对这些lib设置为什么修复它有任何想法,你可能想在这里评论它.