2014-06-26 53 views
1

等待六天後,蘋果回到我身邊,拒絕了我的iOS spritekit遊戲(iPad版)。拒絕是在啓動時崩潰。在崩潰日誌的所有四個,有一隻錯誤:iOS App Store拒絕:無法重現錯誤「庫未加載」

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 

我試圖用我的特設供應我提交的應用程序完全相同的歸檔文件創建一個.ipa文件複製此崩潰商店。但是,當我運行它(在兩個iPad上測試)時,它運行得非常好。我還檢查了我的〜/ library/logs/crashreporter,並且沒有包含我應用名稱的.crash文件。在這一點上我很困惑。我怎樣才能重現錯誤?

任何和所有的建議表示讚賞!

編輯:

我已經試過futureelite7答案,併成功完成了所有的步驟,但是應用程序被蘋果再次拒絕,用了同樣的錯誤。

下一次,我從應用程序的測試目標中刪除了XCTest.framework,我認爲一切都很好。我清理並重新提交。然而,它又被拒絕了。這是第四次提交。

+0

您是否嘗試清理並清理構建文件夾呢? –

+0

你正試圖鏈接到XCTest框架......? – Kevin

+0

@QuangHà不,我沒有。這會造成重大差異嗎? – Lamikins

回答

2

從Project Navigator> Targets>'Project Name'> Build Phases中刪除「XCTest.Framework」文件。然後,「產品」(下拉)>清潔。

+0

我已經成功清理了該項目。我現在應該重新提交給蘋果嗎? – Lamikins

+0

Beta測試通常會解決這些問題。我推薦至少一個。 – bauerMusic

+3

你是否刪除了框架?除非你這樣做,否則清潔不會對你有任何好處。 – futureelite7

0

有可能是這個

  1. 兩個解決我的建議是從Project Navigator > Targets > 'Project Name' > Build Phases刪除「XCTest.Framework」文件。然後點擊xcode菜單中的「Product」,然後選擇> Clean。這應該做的伎倆,然後上傳你的應用程序到商店。 XCTest不應包含在您的常規應用程序代碼中

  2. 檢查您的測試目標設置中的Framework搜索路徑。將XCTest添加到我的項目之一前面加了一個「/」到路徑,當我刪除它時,一切工作正常。

0

喜試圖清理所有的項目中,有可能你裏面許多隱藏的文件,所以按照我的職務,並逐步嘗試步驟之前重新提交您的應用程序(我認爲你需要我最後stesp)

Binary Guide here

0

你可以嘗試上傳你的IPA文件到App.io,看看它是否崩潰。您還可以使用雲日誌記錄框架(例如Papertrail)來獲取崩潰的更多詳細信息。

2

我有同樣的問題,它出來的問題是由於OCMock在pod文件。 解決的辦法是與替換此線

pod 'OCMock' 

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

替換TestsTarget與適當的目標名稱。

0

如果你已經嘗試了futureelite7的說法,那麼你正在編譯你的項目的UnitTests,即使你沒有明確地重新鏈接XCTest.framework。如果Xcode發現您正在編譯#import <XCTest/XCTest.h>,它會自動鏈接到該框架。試試這個:

  1. 轉到項目的生成設置
  2. 搜索 「鏈接框架自動」
  3. 該值設置爲 「否」
  4. 清理項目(CMD + Shift + K)
  5. 再次
  6. 生成(應該失敗!)

如果是這樣的話,然後選擇您的單元測試文件,並從正常的編譯過程中刪除,只留下他們的測試目標,如下所示:

example