我们有一个使用静态Lib构建的应用程序,我们也正在构建用于分发.App和Lib在Xcode调试器中运行正常,或者在Xcode调试会话中加载到设备上.一旦我们在设备上放置Ad Hoc Archive构建,App就会崩溃.控制台日志语句表明它在Lib代码中崩溃,但崩溃报告没有象征Lib代码.
在控制台上看到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没有任何递归.
难倒,需要更多的想法.
NSString常量可以弱连接吗? AVCaptureSessionPresetiFrame960x540在iOS 5之前没有定义.我避免实际引用它并且它在gdb中加载正常,但是当我加载ipa时,它似乎在调用main之前在dyld中崩溃.
相关的问题,使用Weakly Linked Framework的外部常量Crash,似乎说"不",我采用相同的方法:直接使用字符串值.
我在iOS 4.3.5通过临时部署(通过HTTP下载)安装了我的应用程序的手机上看到此错误:
Dyld错误消息:
Symbol not found: _OBJC_CLASS_$_NSJSONSerialization
Expected in: /System/Library/Frameworks/Foundation.framework/Foundation
Run Code Online (Sandbox Code Playgroud)
应用程序中的代码不会调用iOS 5库,除非已经显示存在类(即if(NSClassFromString(@"NSJSONSerialization")!=nil),因此问题不是调用iOS 5iOS 4设备上的库.
应用程序本身包含一个静态库,它是我自己的代码,是NSJSONSerialization引用存在的地方.
iOS 4.3如果直接从xcode(即通过USB线连接到开发机器的iPhone)运行,该应用程序在设备上完美运行.但是,当通过adhoc部署在同一设备上运行时,我会看到崩溃.
adhoc存档是通过Product->Archivein 构建的xcode 4,然后我使用'Distribute'按钮创建Ad-Hoc部署.ipa文件.
该应用程序几乎立即崩溃,让我觉得可能根本没有调用我的代码,这是我的存档构建设置可能在这里不正确?
非常感谢您提供帮助的任何时间!