为什么SenTestingKit导致我的应用程序崩溃?

时间:2012-02-26 18:49:22

标签: ios linker appstore-approval sentestingkit

我为iPhone创建了一个基于地图的应用程序,并且最近将其提交给了商店。我在设备或模拟器上运行应用程序没有遇到任何问题。但是,商店拒绝了它,因为它在发布时崩溃了。崩溃日志抱怨找不到SenTestingKit框架:

Date/Time:       2012-02-21 19:02:26.048 -0800
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: /Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit
  Referenced from: /var/mobile/Applications/*Long Application Reference Number*/MyApp.app/U of T Map
  Reason: image not found
  Dyld Version: 199.5

我已经调查了其他有这个问题的人,我确信当我继续使用它时,我会找到框架搜索路径,我需要成功地包含SenTestingKit框架。

我感到困惑并需要帮助理解是:

  1. 为什么设备和模拟器在没有框架的情况下运行良好,但存档版本没有?

  2. 为什么我认为我需要这个框架?我在开发过程中没有使用任何单元测试。我使用了SBJSON和ASIHTTPRequest库,但我没有在任何库代码中看到SenTestingKit的#import语句。

  3. 我是否更容易删除对SenTestingKit的需求或以某种方式在归档中正确包含它?我想解决这个问题,但我需要尽快重新提交给应用商店。

  4. 我真的想在概念层面上理解这个问题,而不是在事情发生之前就开始讨论。

1 个答案:

答案 0 :(得分:10)

仅仅因为您没有导入SenTestingKit-Headers,并不意味着您没有链接其库。

检查构建配置 / s => 目标 => 构建阶段 =>条目SenTestingKit.framework链接二进制文件库。如果除了测试目标之外的任何其他内容,请将其删除。

测试目标由一个小方框enter image description here表示,而不是由一个小房子enter image description here表示的App-Target。