次のエラーのため、テスト ケースを実行できません。
- バンドル「UITests」が破損しているか、必要なリソースが不足しているため、ロードできませんでした。バンドルを再インストールしてみてください。
- ライブラリがロードされていません: @rpath/Alamofire.framework/Alamofire。
- 理由: 画像が見つかりません
2 日間検索して解決してみてください。しかし、この問題を解決できませんでした。誰か助けてください。
Xcode 10.1 で生成されたプロジェクトでこの問題を再現できました。依存関係マネージャーとして Swift 4.2 と CocoaPods 1.10.0 を使用しました。次のPodfileがありました:
# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
target 'MyApp' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for MyApp
pod 'Alamofire', '4.8.1'
target 'MyAppTests' do
inherit! :search_paths
# Pods for testing
end
target 'MyAppUITests' do
inherit! :search_paths
# Pods for testing
end
end
次に、 を削除しましたuse_frameworks!
。詳細については、次のリンクを参照してください。
# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
target 'MyApp' do
# Pods for MyApp
pod 'Alamofire', '4.8.1'
target 'MyAppTests' do
inherit! :search_paths
# Pods for testing
end
target 'MyAppUITests' do
inherit! :search_paths
# Pods for testing
end
end
また、次のような警告も受け取りました。
[!] The `MyAppUITests [Debug]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-MyApp-MyAppUITests/Pods-MyApp-MyAppUITests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
そのため、MyAppUITests ビルド設定から次の行を削除しました。
その後実行するpod deintegrate && pod install
と、問題はなくなりました。おそらく、より多くの依存関係を持つプロジェクト (ここのように) では、別のソリューションを使用する必要があります。
テストのターゲットを に変更inherit! :search_paths
しinherit! :complete
ます。これが何をするかについては、ドキュメントを参照してください。
Carthage を使用してこの問題に遭遇した人のために、/usr/local/bin/carthage copy-frameworks
実行スクリプト フェーズを UITest ターゲット (メイン アプリ ターゲットだけでなく) に追加することで解決し、フレームワークを入力ファイルとして追加しました。
私の場合、「My Mac (Mac Catalyst)」ではなく「My Mac」を選択するだけで、テストを実行できました。