2012-06-14 24 views
5

私のアプリがサンドボックスを使用するように設定しましたが、今ではユニットテストを実行できません。私は、このエラーメッセージを取得しています:Cocoa App Sandbox - バンドルの読み込みエラー

objc[18812]: GC: forcing GC OFF because OBJC_DISABLE_GC is set 2012-06-14 09:19:42.689 Gitpilot[18812:603] Error loading /Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests: dlopen(/Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests, 262): no suitable image found. Did find: /Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests: open() failed with errno=1 IDEBundleInjection.c: Error loading bundle '/Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest' 2012-06-14 09:19:42.733 Gitpilot[18812:603] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/rs/63y00fxj7dj07g91vrswhk240000gn/T/com.gitpilot.Gitpilot/com.gitpilot.Gitpilot.savedState

私はOCMockとSenTestingフレームワークを使用しています。何か案は?

ありがとうございます!

+1

これはApples sandboxdデーモンのバグです。エンタイトルメントが有効になっているときにテストバンドルがロードされないようにします。 –

答えて

12

プロジェクト設定エディタで新しいビルド設定を作成する場合は、[ビルド設定]タブに移動して、その設定だけのコード署名とエンタイトルメントを無効にすることができます。次に、スキームエディタで、単体テストを実行できる状態で、リリースとデバッグビルドをそのままにしたまま、単体テスト用の構成を選択します。

+0

+1経験的に検証済み。これは正解とみなされるべきです。 – FluffulousChimp

+1

もちろん、単体テストには資格が必要でないと仮定します。たとえば、グループコンテナへのユニットテストアクセスを行うことはできません。 –

0

私はxcode 5で同じ問題を抱えていました。テストターゲットが正しく読み込まれる前に、通常のターゲットでサンドボックスを無効にしなければなりませんでした。

関連する問題