45

ワークフローを妨げる非常に厄介な問題があります。私のプロジェクトでは、「宣言されていない識別子のユーザー」エラーがいたるところにあります。これらはすべて、単一のクラス、具体的にはテーマクラスを参照しています。インポートで循環参照をチェックしましたが、ありませんでした。私は本当に混乱しています。

これがエラーのスクリーンショットです。詳細については、ビルドログにエラーを投稿しますが、エラーはありません。それはうまく構築され、実行されます...

ここに画像の説明を入力してください

派生データを削除してクリーニングしてみました...何かアイデアはありますか?

4

12 に答える 12

87

私は同じ問題を抱えていて、宣言されていない識別子のすべてが私のpchファイルにあるファイルで宣言されていることに気づきました。

これを念頭に置いて、pchファイルから#import行の1つを削除し、再コンパイルしましたが、期待どおりに失敗しました。次に、削除した行を元に戻し、再コンパイルすると、すべての誤ったエラーがなくなった状態で正常にコンパイルされました。

うまくいけば、上記の解決策が役に立たない場合、この単純な解決策があなたの何人かを助けるでしょう。

于 2012-10-26T02:23:17.867 に答える
9

残念ながら、これらの種類のエラーはXcodeでは非常に一般的です。エラーリストを常に自動更新するのは素晴らしいことですが、常にそうとは限りません。これが発生した場合は、Xcodeを再起動することを強くお勧めします。これにより、エラーキャッシュがフラッシュされ、問題が解決することが期待されます。

于 2012-08-27T22:00:36.020 に答える
4

このクラスをどのように含めていますか?ほとんどの場合、*。pchファイルの代わりに、ヘッダーや本文にクラスを明示的に含めます。その後、このエラーは私の場合はなくなります。

また、派生データの削除は時々機能します。たまたま最近、設定の場所を変更しましたか。派生データにRAMディスクを使用してからデフォルトに戻すと、このエラーも発生しました。これは最も厄介なケースです-このエラーがほとんどすべてのファイルに表示されるためです。

このエラーは、以前のバージョンよりもXcode4.4で頻繁に発生するようです。

于 2012-08-27T22:33:39.197 に答える
2

ライブラリファイルを正しく含めましたか?それを見てください。正しいファイルが含まれていない場合、またはUIが欠落しているか接続されていない場合、ARCの問題が発生することがあります。

于 2012-08-31T15:55:23.507 に答える
1

私にとっての問題は、obj-cからc#へのインターフェイスを処理するためにUnityInterface.h/mファイルを作成したことでした。UnityInterface.hはすでにUnityによって定義されています。自分のUnityInterfaceの名前を_UnityInterfaceに変更したところ、すべてが機能するようになりました。

于 2016-06-08T16:16:25.520 に答える
1

後でこの問題が発生する可能性があり、これらの解決策が機能しない場合は、これを投稿してください。プログラムがデバッグモードの場合にのみ実行される#ifステートメントとマークされたプラグマがある場合、内部で宣言されたものが明らかに発生します。アーカイブ/エクスポートしようとしたときに宣言されないようにします。

于 2016-09-15T18:16:31.177 に答える
0

私も同じ問題を抱えていました。XCodeを閉じたり開いたりしても効果はありませんでした。

他のターゲットのエラーをチェックして修正することで解決しました(ユニットテストターゲットに大量のエラーがありました)。また、ヘッダーリンクをhファイルからmファイルに移動しました。しかし、私はかなり確信しています、最初のものが重要でした。

于 2013-08-14T08:07:40.803 に答える
0

同じ問題を経験し、上記のすべての解決策を試しても結果が得られなかった他の人にとっては、おそらく私がしたようなことを試してみるべきです。私はiPhoneのUSBケーブルをMacから外し、それらのケーブルを再度接続するだけで問題を解決しました。その後、再構築すると、宣言されていない識別子のエラーはすべてなくなりました。

于 2014-09-11T14:04:24.517 に答える
0

同じエラーが発生しました。私の場合、それは次のコード行にありました。

- (void)playerItemDidReachEnd:(NSNotification *)notification {
      // some code
  }

私のエラーメッセージは言った:

Use of undeclared identifier 'playerItemDidReachEnd'

この行を.hファイルに追加してみました。

- (void)playerItemDidReachEnd:(NSNotification *)notification;

私はそれを掃除し、Macbookを再起動しましたが、それでもエラーが発生していました。

最後に、.hファイルの行を削除してみることにしました。次に、それをテキストファイルに貼り付けてから、コピーして.hファイルに貼り付けました。

今、私は掃除してVOILA'!!! これ以上のエラーはありません。図に行きます。これはVBAで時々発生します。どういうわけか、コード行に目に見えないフォーマットがあるようです。だから私はそれがxCodeで起こっているのではないかと思った。切り取って、テキストファイルに貼り付け、テキストファイルを切り取って、元の場所に貼り付けます。私の場合は修正しました。

----更新-----上記は私の答えとして投稿されました。申し訳ありませんが、どうやら他に何か問題があります。

掃除した後-私のエラーはなくなりました。今、私は自分のアプリをビルドして実行しようとしました。エラーが戻ってきました!そこで今回は、すべてのテキストを切り取ってテキストファイルに貼り付けた後、クラスファイルを再作成しました。.mファイルと.hファイルの両方に対して実行しました。しかし、実行しようとすると、エラーが再び発生します。ごめん。このテキストを完全に削除する方法がわかりません。答えではありません。

アプリをビルドして実行しようとしました。エラーが戻ってきました!

角かっこ(})がないというエラーメッセージもありました。最後に、このメソッドの直前のメソッドを確認しましたが、終了ブラケットが欠落していることは間違いありません。それでした!

于 2015-11-22T05:04:00.963 に答える
0

答えるのが少し遅れるかもしれません。

私はごく最近この問題を抱えていました。これを修正するには、OSを更新してからXcodeを更新します。Xcodeを単独で更新しようとしましたが、Xcode9.4にはOSHigh Sierra 10.13。*が必要なため、更新されませんでした。

ハッピーアップデート:)

于 2018-06-28T02:20:14.923 に答える
0

コンパイル時エラーです

Use of undeclared identifier '<class_name>'

独自のフレームワークとアプリを開発しているときに、この問題に遭遇しました。Objective-Cコンシューマー->Objective-C静的フレームワーク

レポートナビゲーターには明確な説明がありました

umbrella header for module '<module_name>' does not include header '<class_name>.h'

#import <class_name>.h解決策は、フレームワークターゲットのアンブレラヘッダーに追加することでした

于 2019-08-31T15:48:05.950 に答える
0

をクリックしてみてください。Product -> Analyzeその後、をクリックしてくださいProduct -> Build。これは私にとって助けになりました。

于 2021-09-18T10:56:58.193 に答える