等了六天后,苹果又找回了我并拒绝了我的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,我认为一切都很顺利。我清理它并重新提交。然而,它又被拒绝了。这是第四次提交。
答案 0 :(得分:2)
从Project Navigator中删除“XCTest.Framework”文件>目标> '项目名称'>建立阶段。然后,“产品”(下拉)>清洁。
答案 1 :(得分:2)
我遇到了同样的问题,问题出现在podfile中,因为OCMock。 解决方案是替换此行
pod 'OCMock'
使用:
target :TestsTarget, :exclusive => true do
pod 'OCMock'
end
将TestsTarget替换为适当的目标名称。
答案 2 :(得分:0)
这可能有两个解决方案
我建议删除" XCTest.Framework"来自Project Navigator > Targets > 'Project Name' > Build Phases
的文件。然后点击" 产品"从xcode菜单中选择>清洁。这应该是技巧,然后将您的应用程序上传到商店。 XCTest不应包含在常规应用程序代码中
检查测试目标设置中的框架搜索路径。将XCTest添加到我的一个项目前面加上" /"到路径,当我删除它一切都工作正常。
答案 3 :(得分:0)
您好试着清理项目内部的所有内容,可能内部有很多隐藏文件,所以请按照我的帖子一步一步尝试重新提交您的应用程序(我认为您需要我最后一次使用)
答案 4 :(得分:0)
您可以尝试将您的IPA文件上传到App.io,看看它是否崩溃。您还可以使用云记录框架(例如Papertrail)来获取崩溃的更多详细信息。
答案 5 :(得分:0)
如果您已经尝试过futureelite7所说的内容,那么即使您没有明确地再次链接XCTest.framework,您也正在使用您的项目编译UnitTests。如果Xcode看到您正在编译#import <XCTest/XCTest.h>
的内容,它将自动链接到该框架。试试这个:
如果是这种情况,那么选择您的单元测试文件并将其从正常的编译过程中删除,只留下测试目标,如下所示: