2016-12-02 54 views
2

我在XCode 8.1中遇到了UnitTests的煩人問題。 試圖在我的iPad的iOS 9.1.1運行基本的測試會導致系統崩潰是由於以下錯誤:XCode單元測試崩潰,無法加載插入的庫IDEBundleIjection

dyld: could not load inserted library '__PLATFORMS__/iPhoneOS.platform/Developer/Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection' because image not found 

我還沒有在任何地方找到一個解決方案,雖然一些帖子建議它可能與代碼簽署單元測試目標。代碼簽名看起來正確,測試清理構建,我刪除了派生數據,仍然看到這個錯誤。

有什麼想法?

+0

我也遇到過這個問題。我必須重新啓動手機才能解決問題。像一些人所說的那樣,將簽名更改爲手動對我來說並不適用。你在測試中使用waitForExpectations?當我保持超時並且失敗XCTFail時,我得到錯誤。在我的測試成功後,它似乎不會發生。 –

回答

0

沒有重新啓動或簽署的數量爲我解決這個問題。只有工作似乎是關閉調試。

Screenshot of disabling debugging for iOS tests schemes

這樣做對iOS上的每個目標的方案。這意味着您將無法使用調試器進入設備的單元測試。

因此,這實際上是一種解決方法,而不是一種解決方案,但我張貼它,因爲複選框是足夠模糊的,它花了我一段時間來嘗試這一點,並發現我的測試現在可以在設備上運行。

我有Xcode機器人運行持續集成,並且一個真正的設備插入我的CI機器,所以我需要這個工作。

我不確定它是否是一個Xcode錯誤:如果人們認爲它是,那麼我會做一個報告。

+0

感謝您的提示。我提交了一份報告,並沒有得到任何解決方案,然後告訴我等待下一次更新XCode。你還應該提交一份報告,因此這對他們來說成爲一個更高優先級的問題。 –

+0

好的,我也記錄了一個錯誤。我做了一個最小的證明,並確定這個問題表現爲一個開箱即用的新項目,所以它肯定是一個錯誤。只要做文件>新建項目 - 單元測試:是的 - 並試圖在設備上運行會導致崩潰。 – Sez