新しいテストターゲットをXCodeプロジェクトに追加しました。私のプロジェクトにはSwiftコードとObjective-Cコードがあり、ブリッジヘッダーがあります。UnitTestingのビルド設定にブリッジヘッダーを追加するか、import MyTarget
、エラーが発生します:
failed to import bridging header
私はもう試した:
defines modules
からYes
へ。ビルドして正常に動作するサンプルプロジェクトの作成も試みました。私が持っているすべてをクリーンな新しいプロジェクトに取り込むことは、現時点ではオプションではありません。
ポッドをパッケージマネージャーとして使用する場合は、検索パスなどを設定する必要があります。簡単な方法を示します。
これをPodfileに追加してみてください
target 'YourProductTests' do
inherit! :search_paths
# Pods for testing
end
およびpod install
わたしにはできる。
上記の解決策が役に立たない場合。手動で設定してみてください
テストターゲットをクリックします->ビルド設定->タブ:すべて&結合-> Swiftコンパイラ-コード生成-> Objective Cブリッジヘッダー:xxx-bridging-headerを追加します
「検索パス」を確認し、主な対象に応じてFramework Search Path
、Header Search Paths
、Library Search Path
の値を設定してください。たぶん、いくつかの検索パスがここで失われ、手動で再度追加します。
@Victor Choyソリューションは私にとっては機能しますが、次のようにテストターゲットを製品ターゲット内に移動する必要がありました。
target 'YourProduct' do
# Pods for product
target 'YourProductTests' do
inherit! :search_paths
# Pods for product testing
end
end
これは私にとってはうまくいきませんでした:
target 'YourProduct' do
# Pods for product
end
target 'YourProductTests' do
inherit! :search_paths
# Pods for product testing
end
この時点で、ユニットテストをSwiftで動作させるために_import MyTarget
_を実行する必要はありませんでした。
一般的なソリューション
$(SRCROOT)
を使用してブリッジヘッダーパスを参照する場合は、正しいパスに評価されていることを確認してください。.xcodeproj
_の作業差分を作業プロジェクトのファイルと比較し、異なる可能性のある関連する値と一致させる必要があります。ブリッジヘッダーシステムは完璧ではありませんが、ここで私が遭遇したいくつかの問題があります。
私も同じ問題に直面しました。次のようにすると、「ブリッジヘッダーのインポートに失敗しました」の問題が解決します。
手順:
参照: このリンクを参照してください。