2016-07-06 5 views
4

私はSwiftに実装された1つのクラスを持つobjective-cプロジェクトを持っています。このプロジェクトには、AとBの2つのターゲットがあります。両方とも、XcodeはブリッジヘッダーファイルA-Swift.hB-Swift.hを作成しました。アプリは問題なく両方のターゲットをビルドして実行します。スウィフトブリッジヘッダー - 新しいターゲット

私は2つの新しいターゲットCとDを追加しました(今回はブリッジヘッダーファイルは作成されません)。私がAとBをビルドしても問題はありませんが、CとDをビルドすると、B-Swift.hが見つからないためビルドが完了しません。

ターゲットCはちょうどAの複製であり、DはBの複製であり、もちろんplistファイルでいくつかのプロパティが更新されています。

提案がありますか?

答えて

2

異なるターゲットに対して同じ生成されたヘッダー名を使用することをお勧めします。それ以外の場合は、生成されたすべてのヘッダーを各.mファイルに含めるか、実行するターゲットに基づいてインポートを変更する必要があります。 Build Settings - >Swift Compiler Generalに移動し、すべてのターゲットに対してObjective-C Generated Interface Header NameA-Swift.hに変更できます。

0

すべてのターゲットで同じブリッジヘッダーを使用するには、Objective-Cブリッジヘッダー値を変更する必要があります。 Objective-C生成インターフェイスヘッダー名

[ビルド設定]> [検索高速コンパイラ]> [スウィフトコンパイラ全般]> [ブリッジヘッダー]の値を変更してください。 既存のすべてのターゲットに対してこのプロセスを繰り返します。

+0

ターゲットのいずれかのライブラリを無視する必要がある場合はどうすればよいですか?それについてのアイデア? – Ashik

関連する問題