Mac M1 : react native iOS mobile app on Simulator
I decided to make an article because I spent almost 5 days on this problem, and I don’t want it never happen. So let me help all the people that can be in the same case of me.
– You have a Mac M1 running on ARM 64 architecture
– You are working on a React Native or Swift project with Xcode
Exclude the ARM architecture in the Podfile
Add the following lines in the Podfile (/ios/Podfile) :
post_install do |installer|
## FIX MAC M1 ARM
react_native_post_install(installer)
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
You should check that there is only one “post_install” in the file, if there is not you can add it at the end of the file, if there is already “post_install” somewhere, just put the instructions to exclude the architecture ARM 64 at the end of the “post_install” section.
Dependencies with CocoaPods
In the /ios folder of your React Native project, you should run the following command to build all the dependancy in the /Pods folder :
sudo arch -x86_64 pod install --allow-root
or, you can also use pod-install to be sure all is installed:
npx pod-install
In case of error: Delete /Pods folder, delete Podfile.lock and start again. In case of error of dependancies in node_modules, delete node_modules and run yarn.
Exclude the ARM architecture in Xcode
Now, you should also exclude the architecture in the project settings in Xcode :
Then if you start the react native project on Simulator it should works !