iOS用に開発する場合、Xcodeは、重複するシンボルを参照して警告またはエラーを表示することがよくあります。シンボルに関連する他のメッセージが時々あります。
シンボルとは何ですか?
これは、実行可能(またはオブジェクト)ファイル内のオブジェクトです。関数、メソッド呼び出し、およびグローバル変数は、コンパイラによってシンボルに変換されます。これらは基本的に、グローバル変数のバッキングメモリ領域または関数のコードの開始アドレスを指す実行可能ファイルの一部です。
これは、コンパイラとリンカ内で使用される用語であり、Xcodeでエラーと警告を提供するために使用されます。最も単純な形式では、シンボルはコードの一部(変数、メソッドなど)を参照する方法であり、リンカーがアプリケーションのすべての部分をリンクしているときに、後でそれらを解決できるようにします。
重複するシンボルは、それらが複数回使用された場合であるため、リンカーはどちらにリンクするかを認識しません。
これはObjectiveCをはるかに超えており、全体としてCプログラミング/コンパイルの基礎となります。そのため、このようなものについて読むための資料がオンラインにたくさんあります。例えば: