Stanislav Putilov
Stanislav Putilov

Reputation: 185

Transfer to Apple M1 Xcode shows an error "'FirebaseCore/FirebaseCore.h' file not found" and "Could not build Objective-C module 'Firebase'"

There is a fairly common problem in my Xcode project. I'm using Firebase and project perfectly works with Xcode 11 on Intel i5, but with Xcode 13 (Swift 5) on Apple M1 there are 2 dramatic errors:

'FirebaseCore/FirebaseCore.h' file not found

My Pods:

enter image description here

So, what I tried:

  1. Quite xcode Delete "ProjectName.xcworkspace", "Podfile.lock" and "Pods". Delete project's temp files located at ~/Library/Developer/Xcode/DerivedData (Command + Shift + G in finder) Run "pod install" from terminal. Open "ProjectName.xcworkspace".

Error: Could not build Objective-C module 'Firebase' with Swift 5

  1. Adding arm64 to Excluded Architectures for the main project AND for the Pods project

enter image description here

enter image description here

Xcode 12: build Error on FIRAnalyticsConnector

And many other options. But neither one is suitable for me. What should I try?

Upvotes: 2

Views: 5479

Answers (4)

Liang Yan
Liang Yan

Reputation: 69

My friend tried this. Add this to the end of the podfile and re-install your pods. Took me and the team hours, but we eventually figured this out.

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

Upvotes: 3

Jadent
Jadent

Reputation: 1504

We were running into a similar build error using XCode 15 when building for the Simulator on Mac M1/M2s:

Library 'FirebaseCore' not found

This was our setup

  • XCode 15.0.1
  • Firebase/Core (8.8.0) (see Podfile.lock)

Building for connected devices would compile and deploy OK.

That version of the Firebase library does not yet provide an XCFramework that supports running on both x86_64 and arm64 architectures and can lead to this and other build faiulures.

So in order to build and deploy to Simulators we needed to ensure that Xcode would show the Rosetta Simulator Destinations.

This can be done by using the following Xcode menu:

  • Product / Destination / Destination Architectures / Show Rosetta Destinations

Then choosing a Rosetta simulator and building again allowed us to deploy to the Simulator destinations.

Note that earlier versions of Xcode provided an "Open using Rosetta" open in Finder, but this option was removed in Xcode 14.3

Show Rosetta Destinations

Upvotes: 3

Kalid Nuru
Kalid Nuru

Reputation: 11

I had the same issue when transferring Xcode to M1 pro Mac. Though, none of the answers above was not working for me, I found out that my googleService.info plist was, for some reason, never transferred to the new Mac. I download it from firebase console and it started to work. Hoping this might be help someone.

Upvotes: 1

Sergei Volkov
Sergei Volkov

Reputation: 1154

  1. $ pod deintegrate
  2. $ pod clean
  3. open the terminal with using Rosetta
  4. $ pod install

Upvotes: 0

Related Questions