環境
症状
シミュレータ用にアプリをビルドすると以下のエラーが表示され、アプリが使用しているライブラリでシミュレータでは不要なはずのarm64バイナリを要求される。
The linked library 'xxx' is missing one or more architectures required by this target: arm64.
*素直にライブラリにarm64バイナリを含めると、今度はまた別のエラーになる。
解決方法
Xcodeがarm64用のバイナリをビルドしようとしていることが原因。
まず、プロジェクトとターゲットのビルド設定を開き、VALID_ARCHS
が定義されている場合は削除する。
*プロジェクト側とターゲット側の両方の定義をチェックして削除すること。
次に、ターゲットのビルド設定のExcluded Architectures
の全てのコンフィグレーション(Debug, Relaseなど)について"Any iOS Simulator"の場合に"arm64"をセットする。
*ターゲット側に設定すること。なぜかプロジェクト側に定義しても同じエラーが発生する。