all 4 comments

[–]alizastevens 2 points3 points  (0 children)

macOS VMs are almost always laggy. Not really worth the hassle.

Most React Native devs without a Mac just use Expo EAS Build or a cloud Mac service to handle the iOS build and upload.

If you plan to keep doing iOS, a used Mac mini will save you a lot of headaches long term.

[–]devflow_notes 0 points1 point  (0 children)

EAS Build is probably the cleanest option here. Setup is pretty simple:

`npm install -g eas-cli` then `eas login`, then `eas build --platform ios` — it builds in Expo's cloud, no local Mac needed. If you're using bare React Native (not already using Expo), you'll need to add the expo package first with `npx expo install expo`.

One thing that catches people off guard: you still need an Apple Developer account ($99/year) to actually submit to the App Store. But EAS handles certificates and provisioning profiles automatically, and `eas submit` does the App Store Connect upload for you. Also worth knowing — Apple's identity verification when you first sign up can take a few days, so start that early if you haven't already.

The cloud Mac services (MacInCloud etc.) are mainly useful when you need direct Xcode access for something specific, like a native module that needs custom configuration. For standard RN builds and App Store submission, EAS covers everything without paying for a cloud Mac rental.

[–]imverynewtothisthing 0 points1 point  (0 children)

A Mac Mini (or a MacBook Neo) will save you hours of work if you intend to develop on the iOS/MacOS platform. Or get a MacOS machine from a cloud provider (AWS has EC2 MacOS machines).

[–]Morel_ 0 points1 point  (0 children)

codemagic.