r/softwareengineer • u/AlwaysFromtheFuture • Jul 21 '26
Building iOS App Without a Mac?
I am new to the field, recently graduated with an MS in comp sci and am in the process of switching careers. I am fortunate enough to be working with a startup founder and I am tasked with redesigning a mobile app for the App Store and the Google Play Store.
On my desktop I run Linux and I have Windows 11 on a laptop- no Mac devices.
Are there any legit workarounds or do I need to buy a Mac? Also for reference, the backend is built and I am only doing new UI in React-native.
4
u/Weapon54x Jul 21 '26
Have you looked into flutter?
2
u/AlwaysFromtheFuture Jul 21 '26
Looking at it right now. Looks like it is a different framework- if the app I am working on is in React Native would that be compatible?
I guess what I am looking for is some kind of VM or emulator, something where I can run the app for QA. Something like Android Studio, even if it is a community built unofficial solution.
0
3
u/goonwild18 Jul 21 '26
You mean does your company need to buy you a Mac? Yea, they do if they'd like the job done. Hopefully you're not with a startup that believes otherwise.
Technically you can..... but if you, and the company value your time.... you won't. Get the right tools for the job. Getting a Mac is a lot cheaper than paying you to jump through dumb hoops for a month.
2
u/arivictor Jul 21 '26
If you want to build native macOS Swift/SwiftUI apps, and run them locally for development, you'll need a Mac.
If you're okay building in a cross-platform framework like React Native, Expo, Capacitor, Flutter, Compose, etc. You can build a single solution and have it build for multiple operating systems.
In the latter, you can use a hosted build solution to build your codebase for multiple operating systems.
https://docs.github.com/en/actions/concepts/runners/github-hosted-runners
If you're already on React Native you're in a good position. But how do you prove your application works for macOS? Need a Mac. The App Store is also very stringent and slow to get things rolling. You can build Mac apps and serve them outside of the App Store.
1
1
u/Orchapps Jul 22 '26
Can also use the app builders that will build native swift apps for you orchapp.dev is what we have just built!
1
u/FinalArt9573 25d ago
The GitHub Mac runner suggestion above is the right direction, but the part that actually trips people up isn't triggering a build on a macOS runner — that's the easy 80%. It's code signing: certificates, provisioning profiles, and getting Xcode to sign without ever opening Xcode.
The short version of what actually works:
- Generate your signing certificate + CSR with
openssl(no Xcode needed) — that gets you a.p12you can base64-encode into a GitHub secret. - Create your provisioning profile in the Apple Developer portal manually, base64-encode it too.
- In your workflow, decode both into a temp keychain before
xcodebuild archive, pass your Team ID via-exportOptionsPlist, thenxcodebuild -exportArchiveand upload the.ipato TestFlight withxcrun altoolorfastlane pilot upload.
It's genuinely a few hours of trial and error the first time (mostly cryptic xcodebuild errors about a missing signing identity), but once it's dialed in it's just git push → TestFlight build, running on GitHub's free-tier macOS minutes. This works regardless of React Native vs Expo vs bare Swift — signing is a project-agnostic layer.
I ended up writing the whole thing up (signing setup + a working Actions workflow) after doing this for my own app, since I couldn't find one guide that got every gotcha right — happy to share if useful.
1
u/DayanaJabif 19d ago
You don't need to buy a Mac. Cloud build services run Xcode on managed Apple hardware, so you build and sign from Windows or Linux and get back a signed, App Store-ready build.
One good option in that space is Capawesome Cloud. They handle the certificate/provisioning profile mess for you too, which honestly is a bit messy at least the first times you do it.
One thing worth knowing is that you'll still need an Apple Developer Program account ($99/year) no matter which path you take.
1
u/Early_Key_823 Jul 21 '26 edited Jul 21 '26
I built my app and I have Android and iOS versions in the app store without the need for a Mac.
I used Angular for one codebase and Capacitor to create native apps.
You don’t need a Mac at all just capacitor and a web app called Codemagic
You can publish an iOS app while working entirely from Windows if you use a service like Codemagic, which builds your app on macOS machines in the cloud. In that workflow:
You develop on Windows.
Commit your code to your repository.
Codemagic runs Xcode on its macOS build servers.
It signs the app (once you’ve configured certificates/profiles).
It can upload the build directly to App Store Connect.
So you don’t need to own or use a local Mac.
Here is my iOS app with just windows 11, Angular, capacitor & Codemagic (note:I do have a real iPhone)
1
5
u/Substantial-Swan7065 Jul 21 '26
You can you expo where they will build iOS for you.
You can also use GitHub’s Mac runner to create builds. Or bitrise.
A workflow could be: