iOS App Store拒绝:无法重现错误“库未加载”

时间:2014-06-26 01:39:56

标签: ios objective-c xcode ipad

等了六天后,苹果又找回了我并拒绝了我的iOS spritekit游戏(适用于iPad)。拒绝是在启动时崩溃。在所有四个崩溃日志中,只有一个错误:

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120055098
Triggered by Thread:  0

Dyld Error Message:
  Library not loaded: /Developer/Library/Frameworks/XCTest.framework/XCTest
  Referenced from: /var/mobile/Applications/8F4649C6-39F7-4EB7-8FF9-450FDF92E543/MyGame.app/MyGame
  Reason: image not found
  Dyld Version: 324.1

我尝试使用我提交给应用商店的完全相同的存档的ad hoc配置文件创建.ipa文件来重现此崩溃。但是,当我运行它(在两个iPad上测试)时,它运行得非常好。我还检查了我的〜/ library / logs / crashreporter,并且没有.crash文件和我的应用程序的名称。我现在很困惑。我该如何重现错误?

赞赏任何和所有建议!

编辑:

我已经尝试了futureelite7的答案,并成功完成了所有步骤,但苹果再次拒绝了该应用程序,同样的错误。

下一次,我从应用程序的测试目标中删除了XCTest.framework,我认为一切都很顺利。我清理它并重新提交。然而,它又被拒绝了。这是第四次提交。

6 个答案:

答案 0 :(得分:2)

从Project Navigator中删除“XCTest.Framework”文件>目标> '项目名称'>建立阶段。然后,“产品”(下拉)>清洁。

答案 1 :(得分:2)

我遇到了同样的问题,问题出现在podfile中,因为OCMock。 解决方案是替换此行

pod 'OCMock'

使用:

target :TestsTarget, :exclusive => true do
  pod 'OCMock'
end

将TestsTarget替换为适当的目标名称。

答案 2 :(得分:0)

这可能有两个解决方案

  1. 我建议删除" XCTest.Framework"来自Project Navigator > Targets > 'Project Name' > Build Phases的文件。然后点击" 产品"从xcode菜单中选择>清洁。这应该是技巧,然后将您的应用程序上传到商店。 XCTest不应包含在常规应用程序代码中

  2. 检查测试目标设置中的框架搜索路径。将XCTest添加到我的一个项目前面加上" /"到路径,当我删除它一切都工作正常。

答案 3 :(得分:0)

您好试着清理项目内部的所有内容,可能内部有很多隐藏文件,所以请按照我的帖子一步一步尝试重新提交您的应用程序(我认为您需要我最后一次使用)

Binary Guide here

答案 4 :(得分:0)

您可以尝试将您的IPA文件上传到App.io,看看它是否崩溃。您还可以使用云记录框架(例如Papertrail)来获取崩溃的更多详细信息。

答案 5 :(得分:0)

如果您已经尝试过futureelite7所说的内容,那么即使您没有明确地再次链接XCTest.framework,您也正在使用您的项目编译UnitTests。如果Xcode看到您正在编译#import <XCTest/XCTest.h>的内容,它将自动链接到该框架。试试这个:

  1. 转到项目的构建设置
  2. 搜索“自动链接框架”
  3. 将该值设为“否”
  4. 清理您的项目(cmd + shift + K)
  5. 再次构建(应该失败!)
  6. 如果是这种情况,那么选择您的单元测试文件并将其从正常的编译过程中删除,只留下测试目标,如下所示:

    example