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

Joe*_*iak 5 linker appstore-approval ios 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

我真的想在概念层面上理解这个问题,而不是在事情发生之前就把它解决掉.

Til*_*ill 10

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

检查您的Build-Configuration/s => Target => Build Phases => Link Binary With Libraries以获取条目SenTestingKit.framework.如果除了测试目标之外的任何其他内容,请将其删除.

测试目标由一个小盒子象征 在此输入图像描述,而不是一个由小房子象征的App-Target 在此输入图像描述.