LoginSignup
70
50

More than 3 years have passed since last update.

M1 Mac & Xcodeで「building for iOS Simulator, but linking in object file ... for architecture arm64」エラーの対処法

Last updated at Posted at 2021-01-04

XcodeプロジェクトファイルにFirebaseをインストール後ビルドをしたら以下のエラーに引っかかった時の対処法

ld: in /Users/[ユーザー名]/[プロジェクト名]/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(FIRAnalyticsConnector_a8eeba373b74508311b8b22b8d3202a6.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/[ユーザー名]/[プロジェクト名]/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

開発環境

Xcode 12.3
M1 MacBook Air

なぜ、このようなエラーが発生するのか

arm64 アーキテクチャのサポートとXcode12互換バージョンは、多くの一般的なサードパーティライブラリ(Firebase、AFNetworkingなど)ではまだ提供されていません

とのことです。

対処法 ステップ①

まず、プロジェクトのBuild SettingsExcluded ArchitecturesDebugRelease
Any iOS Simulator SDK arm64を追加することでarm64を除外します。
スクリーンショット 2021-01-05 6.56.05.png

対処法 ステップ②

ステップ②に関しては、手動でarm64を除外する方法と、podFile書き換え後にpod updateをして上書きする方法があります。

・手動でarm64を除外する方法

次にPodsのBuild SettingsExcluded ArchitecturesDebugReleaseにも
Any iOS Simulator SDK arm64を追加することでarm64を除外します。
スクリーンショット 2021-01-05 6.57.20.png

・PodFile書き換え後、updateで上書きする方法

下記のコードをPodFileに追記し、pod updateを行う

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
end

スクリーンショット 2021-01-05 7.20.46.png

対処法 ステップ③

プロジェクト.xcworkspaceを立ち上げ後、Command + Shift + K でクリーンします。

すると、シュミレーターで立ち上げることが出来ました。

参考

XCode 12, FIRAnalyticsConnector, Build Error
Xcode 12 Compilation Errors (While running with iOS 14 Simulators)



何か間違いやより良い方法がありましたら、優しく教えていただけると幸いです🙇‍♂️

70
50
2

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
70
50