0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

備忘録:Xcodeで「Undefined symbol」エラー発生!シミュレータビルド時のarm64問題解決法

Posted at

【Xcode】 arm64を削除して「Error creating LLDB target」を解決!

はじめに

Xcodeで開発中、突然たくさんのエラーが出てきてアプリがシミュレーターで起動しなくなることがあります。
今回は、エラーの根本原因が「TARGETS」の「Excluded Architectures」にarm64が指定されていたことでした。
この記事では、具体的なエラーの内容と解決方法、そして試したものの効果がなかった方法についてまとめます。


発生したエラーの内容

プロジェクトをビルドしようとしたところ、以下のような複数のエラーが発生しました。
これらのエラーは、単一の原因から連鎖的に引き起こされた可能性が高いです。
ちなみにCocoaPodsでFSCalendarをインストールしています。

Error creating LLDB target at path '~/MyApp.app', target architecture: arm64 : the specified architecture 'arm64--' is not compatible with 'x86_64-apple-ios15.6.0-simulator' in '~/MyApp.app/MyApp'.
Unknown class FSCalendar in Interface Builder file.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setDelegate:]: unrecognized selector sent to instance 0x7fdcab3113a0'

特に注目すべきは、最初の**Error creating LLDB target**です。
このエラーメッセージは、「arm64アーキテクチャがシミュレーターのx86_64と互換性がない」と指摘しています。


解決策:Excluded Architecturesからarm64を削除する

このエラーの根本的な原因は、シミュレーター向けのビルド設定にarm64が含まれていたことです。
通常、シミュレーターはx86_64アーキテクチャで動作するため、arm64(Apple Silicon Macネイティブまたは実機用)のビルド設定は不要です。
以下の手順でarm64を削除することで、エラーが解消されました。

手順

  1. Xcodeのプロジェクトナビゲーターで、プロジェクトファイルを選択します。
  2. TARGETS」から対象のアプリを選択します。
  3. Build Settings」タブを開きます。
  4. 検索バーで「Excluded Architectures」と検索します。
  5. Debug」と「Release」の両方、または問題が発生しているビルド設定で、arm64が指定されていないか確認します。
  6. もしarm64が記載されていれば、それを削除します。

解決に至らなかった他の試み

エラー解決のために、以下の方法も試しましたが、今回のケースでは効果がありませんでした。

  • Storyboardの再接続: Interface Builderでのクラス設定やOutlet接続の問題を疑い、再度接続し直しました。
  • プロジェクトのクリーン: 「Product」 > 「Clean Build Folder」を実行し、ビルドキャッシュをクリアしました。
  • FSCalendarのCustomClass設定: FSCalendarInherit Module From Target設定を切り替えましたが、変化はありませんでした。

これらの方法は、他の問題解決には有効な場合がありますが、今回は「ビルドアーキテクチャの不整合」という根本原因には対処できませんでした。


まとめ

Xcodeで「Error creating LLDB target」や「Unknown class ...」「unrecognized selector」などのエラーがシミュレーターで発生した場合、「Excluded Architectures」の設定を確認してみてください。特にApple Silicon Macを使用している場合、シミュレーター向けのビルド設定が不適切になっている可能性があります。

この情報が、同じような問題に直面している方の助けになれば幸いです!
間違っている点があれば、指摘もらえると嬉しいです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?