web-dev-qa-db-ja.com

古いiOSシミュレーターで実行するとXcode 10テストが失敗する-「テストバンドルの読み込みに失敗しました...適切なイメージが見つかりません」

Xcode 10をインストールし、iOSアプリケーションをSwift 4.2。Xcode経由でテスト(UIとユニットの両方)を実行すると、iOS 12を実行しているiPhoneシミュレーターでテストが正常に開始されます。以前のiOSバージョン(iOS 10.3.1など)を実行しているシミュレーターでテストを実行しようとすると、「テストバンドルのロードに失敗しました」というメッセージが表示されます。これらのテストはXcode 9.4で正常に実行されていました。アプリを実行できます問題のないこの古いシミュレータで。

Xcodeの出力は次のとおりです(「Reading List」はアプリケーション名です):

2018-09-16 15:11:36.667 ReadingList [11401:11478426] file:/// Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulatorからテストバンドルを読み込めませんでした/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/:エラードメイン= NSCocoaErrorDomainコード= 3587 "dlopen_preflight(/ Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzesimapp/ReadiListing。電話/ビルド/製品/ビルド/製品/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests):適切なイメージが見つかりませんでした。検索は次のとおりです:/ Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimgReadingIniphonesimingReadingIniphonesimulatorReading/List-InphonesimListReadingListList .xctest/ReadingList_UnitTests:mach-o、but not built for iOS Simulator "UserInfo = {NSLocalizedFailureReason =バンドルが破損しているか、必要なリソースが不足しています。、NSLocalizedRecoverySuggestion =バンドルを再インストールしてください。、NSFilePath =/U sers/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests/LibraryDebug/Developer/Developer/Developer/Development/DataSource /DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests):適切な画像が見つかりません。検索結果:/Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests not not built for iOS- Simulator:mach 、NSBundlePath =/Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest、bundleReadedList "bundleReadingUnitn" NotReadedList "破損しているか、必要なリソースが不足しているため。}

この線 mach-o, but not built for iOS simulatorは、キーである可能性があるようです。どうすればこれを解決できますか?

10
Andrew Bennet

テストターゲットにはiOS Deployment Target設定をデフォルト値のままにします。

Xcode 9.4では、これは「iOS 11.4」と同じですが、何らかの理由で「iPhone 7(10.3)」シミュレーターでテストを実行できます。 Xcode 10では、デフォルトの「iOS 12」より前のiOSバージョンを実行しているシミュレーターでテストが実行されなくなったため、動作に変更があるようです。

23
Andrew Bennet

プロジェクトナビゲータで、プロジェクトファイルを選択します。プロジェクト構成ウィンドウでターゲットを選択します。 [ビルド設定]タブを選択し、(基本とレベル)iOS展開ターゲットまで下にスクロールして、目的のOSバージョンを選択します。

これで問題は解決しました。乾杯rgdsデイブ

4
davemurphy