ワークフローを妨げる非常に厄介な問題を抱えています。私のプロジェクトでは、「宣言されていない識別子のユーザー」エラーがずっとあります。これらはすべて、単一のクラス、具体的にはテーマクラスを参照しています。インポートで循環参照をチェックしましたが、どれもありませんでした。私は本当に混乱しています。
これがエラーのスクリーンショットです。詳細については、ビルドログにエラーを投稿しますが、何もありません。それは構築して正常に実行されます...
派生データを削除、削除してみました...アイデアはありますか?
私は同じ問題を抱えていて、宣言されていない識別子のすべてが私のpchファイルにあるファイルで宣言されていることに気付きました。
これを念頭に置いて、pchファイルから#import行の1つを削除し、再コンパイルしましたが、期待どおりに失敗しました。その後、削除した行を元に戻し、再コンパイルすると、すべての誤ったエラーが消えて正常にコンパイルされました。
上記の解決策が役に立たない場合、この簡単な解決策があなたの一部を助けることを願っています。
残念ながら、この種のエラーはXcodeでよく発生します。エラーリストを常に自動更新するのは素晴らしいことですが、常にそうとは限りません。このような場合は、Xcodeを再起動することを強くお勧めします。再起動すると、エラーキャッシュがフラッシュされ、問題が解決することが期待されます。
このクラスをどのように含めますか?ほとんどの場合、*。pchファイルの代わりに、ヘッダーおよび/または本文に明示的にクラスを含めるだけです。その後、私の場合、このエラーはなくなります。
また、派生データの削除は時々機能します。おそらく最近、設定で場所を変更しましたか。また、派生データにramdiskを使用してからデフォルトに戻すと、このエラーが発生しました。これは最も厄介なケースです-ほとんどすべてのファイルにこのエラーが表示されるためです。
このエラーは、Xcode 4.4では以前のバージョンよりも頻繁に発生するようです。
ライブラリファイルを正しく含めましたか?それを見てください。正しいファイルが含まれていない場合や、UIが見つからないか接続されていない場合、ARCの問題が発生することがあります。
私にとっての問題は、obj-cからc#へのインターフェイスを処理するUnityInterface.h/mファイルを作成したことです。 UnityInterface.hはすでにUnityによって定義されています。私は自分のUnityInterfaceの名前を_UnityInterfaceに変更しましたが、今ではすべてが機能します。
後でこの問題が発生する可能性があり、これらの解決策が見つからない人にこれを投稿するだけです:プログラムがデバッグモードの場合にのみ実行される#ifステートメントでマークされたプラグマがある場合は、明らかにアーカイブ/エクスポートを試みるときに宣言されないようにします。
少し遅れて答えるかもしれません。
この問題はごく最近発生しました。これを修正するには、OSを更新してからXcodeを更新します。 Xcodeのみをアップデートしようとしましたが、Xcode 9.4にはOS High Sierra 10.13が必要なため、発生しませんでした。*
ハッピー更新:)
同じ問題を経験し、上記のすべての解決策を結果なしで試した他の人にとっては、おそらく私がやったようなことを試してみてください。 iPhoneのUSBケーブルをMacから外して、もう一度ケーブルを接続し直すことで問題を解決しました。その後、再構築し、未宣言の識別子エラーはすべてなくなりました。
同じ問題がありました。 XCodeを閉じて開くことは役に立ちませんでした。
他のターゲットのエラーをチェックして修正することで解決しました(ユニットテストターゲットに大量のエラーがありました)。また、ヘッダーファイルをhファイルからmファイルに移動しました。しかし、最初のことが重要だったことは確かです。
同じエラーが発生しました。私の場合、次のコード行にありました。
- (void)playerItemDidReachEnd:(NSNotification *)notification {
// some code
}
私のエラーメッセージは言った:
Use of undeclared identifier 'playerItemDidReachEnd'
この行を.hファイルに追加しようとしました:
- (void)playerItemDidReachEnd:(NSNotification *)notification;
私はそれをきれいにし、Macbookを再起動しましたが、まだエラーが発生していました。
最後に、.hファイルの行を削除しようとすることにしました。次に、それをテキストファイルに貼り付け、コピーして.hファイルに貼り付けました。
今、私は掃除し、VOILA '!!!エラーはもうありません。図を移動します。これはVBAで時々発生します。どういうわけか、コード行に目に見えない書式設定があるようです。だから私はそれがxCodeで起こっているかもしれないと思った。それを切り取り、テキストファイルに貼り付け、テキストファイルを切り取り、元の場所に貼り付けます-私の場合は修正しました。
----更新-----上記が私の回答として投稿されました。申し訳ありませんが、明らかに何か他の問題があります。
クリーニング後-エラーがなくなりました。今、アプリをビルドして実行しようとしました。エラーが戻ってきました!そこで今回は、すべてのテキストを切り取り、テキストファイルに貼り付けた後、クラスファイルを再作成しました。私は.mファイルと.hファイルの両方でそれを行いました。しかし、実行しようとするとエラーが再び表示されるようになりました。ごめんなさい。これは答えではないので、このテキストを完全に削除する方法はわかりません。
アプリをビルドして実行しようとしました。エラーが戻ってきました!
また、角かっこ(})が欠落しているというエラーメッセージもありました。最後に、このメソッドの直前のメソッドを見て、終了ブラケットが欠落していることを確認しました!それでした!
コンパイル時エラー
Use of undeclared identifier '<class_name>'
独自のフレームワークとアプリを開発するときに、この問題に遭遇しました。 Objective-Cコンシューマ-> Objective-C静的フレームワーク
Report Navigatorには明確な説明がありました
umbrella header for module '<module_name>' does not include header '<class_name>.h'
解決策は、単に#import <class_name>.h
フレームワークターゲットのアンブレラヘッダーに