NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

【Xcode】Apple siliconによるLibrary not found for - XXXX...エラーの対処方法

概要

「Library not found for - XXXX...」のエラーは基本的にはLibrary Search PathsのPathが正しくなかったり、重複している場合に起こるエラーですが、Apple silicon起因でも表示されましたので、以下当てはまる人は一度参考にしてみてください。
・「Library not found for - XXXX...」のエラー文表示
・Intel MacからM系Macへ移行して初めてビルドしている
・Library Search Pathsで設定しているPathは正しそう
→そのエラー文、Apple silicon起因かもしれませんよ!

環境

この記事は以下のバージョン環境のもと作成されたものです。
【Xcode】14.2
【iOS】16.2
【macOS】Ventuta

原因と対応方法

まず原因についてですが、ライブラリがarm64に対応していない場合に発生するようです。
M系のMacでXcodeを起動してシミュレーターを起動するとarm64でビルドを行う為に発生すると考えられます。
非常にエラー文から予測するのが難しく、実機でビルドするとエラーが発生しないことも今エラーの特徴です。
対応方法としては根本解決及び回避策があります。

・根本解決:arm64に対応バージョンがあればそのバージョンまでライブラリをアップデートする
・回避策:RossetaでXcodeを起動するよう変更し、Excluded architecturesでarm64を除外する

以上2パターンがあります。今回自分の環境では回避策しか取れませんでしたので回避策を紹介します。
ライブラリアップデートして解消できる環境であればそちらをお勧めします。

回避策

まずRossetaでXcodeを起動するように変更します。以下手順です。
・Xcodeを右クリックして「情報を見る」を選択

・「Rossetaを使用して開く」にチェックする

続いてarm64を除外していきます。 ・Xcodeでファイルを開き、アプリのTARGETにあるExcluded architecturesでarm64を除外

・PodsにあるExcluded architecturesでarm64を除外

以上です。
これで回避してビルドを通す事ができます。

まとめ

今後同じようにハマる人がいなくなれば・・・という思いで記事を書きました。
以上Apple siliconによるLibrary not found for - XXXX...エラーの対処方法でした。

執筆者岡優志

iOSエンジニア
iOSを専門とし、モバイルアプリの開発を行なっています。

Twitter