2016-07-12 15 views
0

時計アプリで既に開発済みのNSObjectクラスを使用したい(時計アプリのターゲットが同じプロジェクトに追加されています)。時計アプリでiPhoneアプリのクラスにアクセス

私のiPhoneアプリは、Objective-Cで書かれており、今私は腕時計拡張のためにスウィフトを使用していますので、私は拡張ターゲットを見るためにウォッチAppでこのクラスを使用してクラスを追加するブリッジヘッダーを作成しました。私はアプリをビルドすると、それは私にこのような理由で他のクラスから多くのエラーを与える:

は、UIControllerViewのためのインタフェース宣言を見つけるxxxxClass

のスーパーそして、すべてのこれらのエラーファイルは、彼らが持っているように見えることはできませんWatchKit Extensionの対象ですが、私はそれらを含めませんでした。これらのファイルでは、対象メンバーシップ時計の延長もチェックされていません(拡張対象ではありません)。ウォッチエクステンションに追加していないクラスはありますが、ウォッチエクステンションクラスとして実行しています。

enter image description here

+0

のUIKitクラスは単にWatchKitには存在しません。 –

+0

@PetahChristian私はそれらを追加しませんでした。彼らがなぜ参照されているのか分かりません。 NSObject Class Target to Watch Extensionだけを追加しました。これらのクラスはwatchAppのクラスを使用して不要なゲストとしてコンパイルされます。 – Ali

答えて

0

あなたは、そのクラスを選択し、ファイルインスペクタからWatchKit拡張のためのターゲット・メンバーシップを確認する必要があります。スウィフトクラスについては

:Objective-Cのクラスの

enter image description here

あなたはあなたがターゲットにファイルが追加されたりされていない小切手を持っている.mファイル

+0

はい、私はこのことをしました。すべての手順を完了しました..私は新しいプロジェクトで同じ手順を実行しても、エラーがなく、そのクラスを共有しています。このプロジェクトの唯一の問題は、いくつかの設定や他のものかもしれません。 – Ali

+1

@AliあなたはApple WatchアプリケーションでUIKitクラスを使用できないことを知る必要があります。したがって、UIViewまたはUIViewControllerはUIKitフレームワークに含まれているため、代わりにWatchKitフレームワークを使用するApple Watchアプリケーションで使用することはできません。 – AaoIi

+0

@Aaoli私はwatch appで使うことができないと知っています。私はこれらのクラスをwatchkit拡張に追加しませんでしたが、私のプロジェクトではこれらのクラスをドラッグして自動的にappを見ています... NSObjectクラスのクラスを1つ追加しました – Ali

0

のためにそれを作ります。そのために

1.selectプロジェクトファイル - >フェーズをビルド - >ソースをコンパイル。

-Check the file present or not. 

2.ifは、コンパイル元にないすべてのファイルを削除して追加するだけではありません。

3.Cleanとあなたのソースをビルドします。.. UIViewController` `のような

+0

ファイルが存在しますソースをコンパイルする(追加したい)。しかし、問題は私のプロジェクトがWatch Extensionに追加していないファイルをコンパイルすることです。エラーを生成します。 – Ali

関連する問題