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

我为iPhone创build了一个基于地图的应用程序,并最近将其提交给商店。 我没有在设备或模拟器上运行应用程序的麻烦。 然而,商店拒绝了它,因为它发射坠毁。 崩溃日志抱怨没有findSenTestingKit框架:

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 

我已经看过其他人有这个问题,我敢肯定,我继续摆弄它,我会find框架searchpath,我需要包括SenTestingKit框架成功。

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

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

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

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

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

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

检查你的Build-Configuration / s => Target => Build Phases => Link Binary With Libraries对于SenTestingKit.framework条目。 如果除了testing目标以外的任何内容,请将其删除。

testing目标由一个小盒子表示 在这里输入图像说明 ,而不是一个小房子象征的App-Target 在这里输入图像说明