ソースに問題がないはずなのに、警告が出てコンパイルできないことがあります。
下記のような警告が出た時の対処です。
“_OBJC_CLASS_$_*******”, referenced from:
objc-class-ref-to-******* in *******
ld: symbol(s) not found
collect2: ld returned 1 exit status
XCodeの左ツリー「ターゲット」「プロジェクト名」「ソースをコンパイル」に登録されている「*.m」ファイルを確認します。
おそらく、警告で出ているファイル名(.m)がここに入っていないと思います。
念のため、「ターゲット」「プロジェクト名」「バンドルリソースをコピー」の中も確認してみます。
該当のファイルがここに登録されていますか?
見つかった場合は、「ソースをコンパイル」の中にドラッグドロップしてやります。
見つからなかった場合は、ツリーの上のほうの「Classes」にある該当のファイルをドラッグして、「ソースをコンパイル」の中にドロップします。
そして、ビルドしてみましょう。