2016-07-04 15 views
1

SwiftにWatchKit Appを追加したプロジェクト(objective-c)があります。今、Objective-Cクラスを迅速に使用したいと思っています。私はXcode 7.3を使用していますiOS - ウォッチエクステンションにObj-Cファイルを追加するとエラーが発生する

私はBridging Headerを作成し、Swift Compilerのapp targetとwatch extensionのビルド設定に追加しました。

私が直面している問題は、objective-cクラスにアクセスするには、Watch Extensionのターゲットメンバーシップにクラスを追加する必要があるということです。私がコンパイルすると、Watch Extensionではエラーが発生しますが、エクステンションを見るために追加したことのないクラスはエラーになります。私の主なviewcontrollerは、それが継承されているUIViewControllerクラスを見つけることができないエラーを与えるように。

時計のアプリや拡張機能に追加したことのない時計拡張機能をコンパイルするため、エラーが正しく表示されます。

何が問題なのですか?どのように私は同じ方法論を使用して私の他のアプリで時計アプリを追加したので、どこから発生しているこの問題を解決することができます。

編集: 拡張機能に追加されていないクラスには次のエラーがあります。

enter image description here

+0

エラーが正しいこと、そしてwatchView拡張機能にUIViewControllerクラスを追加できないことを認識しているので、これらのobjective-cクラスは何ですか? UIViewController?私はそう思う。 –

+0

いいえ、私はそれらのファイルを一度も追加しませんでした。 NSObjectから継承された単一の.mを追加しようとしています。これらのUIViewControllerは今まで追加されていませんビルドプロジェクトはWatchKitエクステンションでエラーを返します – Hassy

+0

コンパイラによって生成されたエラー結果を調べます。 viewControllerが間違った場所にあることを示すファイルは何ですか?正確なエラーメッセージは何ですか? –

答えて

0

私は、ファイルが他のターゲット(WatchKit)に表示されるように原因となった問題を解決しました。私は私のカスタムPCHファイルを作成し、私のメインプロジェクトに手動で追加しました。

後で新しいターゲット(WatchKit)を作成したときに、自動的にPCHファイルの設定がコピーされました。今ではPCHファイルに追加されたクラスもWatchKitに準拠しているため、エラーになります。

私の時間がかかり、それは簡単な間違いとして出てきました。

+0

あなたはそれをどのように解決したのか説明できますか? PCHファイルを削除しようとしましたが、ifdef TARGET_OS_IOSを追加しましたが、どちらもうまくいきませんでした。私はまだ同じ問題に直面しています。 –

関連する問題