2017-05-10 1 views
0

私は自分のアプリに新しいSiriインテグレーションを実装しようとしています。私は自分のプロジェクト全体で使っていた古いObjective-Cヘッダーを持っていますが、今度はこの新しいSiri Intentsターゲットにもヘッダーが必要です。だから、私は2つの目的のcブリッジングヘッダーを持っています。一つはメインプロジェクトとそのターゲット、もう一つはSiri Intentsターゲットです。Can /複数のObjective-Cブリッジヘッダーを使用できますか?

私が期待したように機能しません。インポートしようとしているobjective-Cクラスのいずれかを参照している "識別子の未解決の使用"エラーが発生します。

  • プロジェクト:メインブリッジヘッダのディレクトリ
  • ターゲット:
    • selfTitledTarget:メインブリッジヘッダのディレクトリ
    • SiriIntent:新しいディレクトリ以下のための私のビルド設定で

      ブリッジヘッダー

私のメインブリッジヘッダーには、安全のために新しいブリッジヘッダーのすべてのインポートが含まれています。

新しいSiriの実装を開始する前にこの問題はありませんでした。私は、Siriの実装だけで、1つはうまく動作する別のプロジェクトを持っているので、私は複数のブリッジヘッダーがあるという事実に自分の問題が根付いていると推測しています。

答えて

1

プロジェクト:メインブリッジヘッダのディレクトリ

ターゲット:

  • selfTitledTarget:メインブリッジヘッダのディレクトリ

  • SiriIntent:新しいブリッジヘッダのディレクトリ

これは意味をなさない。プロジェクトにはヘッダーがありません。ターゲットは行います。そして、それらのブリッジヘッダービルド設定はディレクトリではありません。それらはファイルです。

したがって、ステップ1では、ターゲットごとに1つずつブリッジヘッダーが2つしかないことを確認します。

その後、両方のブリッジヘッダーにObjective-C .hファイルをすべてインポートすることをお勧めします。それは傷つけることはできません、あなたの問題を解決する必要があります。

0

これはヘッダーではありません。ターゲットあたりの1つのブリッジヘッダーは、これがどのように動作するかを正確に示しています。

問題は、参照先のクラスがインテントターゲットにコンパイルされていないことです。ファイルインスペクタ(⌘⌥1)のターゲットメンバシップペインを確認し、必要なすべてのターゲットに含める共有ソースファイルを設定します。

関連する問題