Workflow

The Apple Developer Workflow on Windows

Updated August 2026 · 8 min read · by the MacFree team
Short answerAlmost the entire Apple developer workflow is web-based and OS-independent: account, certificates, provisioning profiles, App Store Connect, submission and review all run in a browser. Only the compile and code-sign step needs macOS, and that runs in the cloud — so you can avoid owning a Mac for iOS development entirely.

Developers assume iOS development means buying Apple hardware. In practice, the vast majority of the workflow never touches macOS at all. Here's what actually runs where.

What runs in a browser (any OS)

This is the part nobody mentions: most of the Apple developer workflow is a website.

TaskWhere it runsNeeds a Mac?
Apple Developer Program enrolmentdeveloper.apple.comNo
Registering bundle IDs / App IDsDeveloper portalNo
Creating certificatesPortal or App Store Connect APINo
Creating provisioning profilesPortal or APINo
Creating the app recordApp Store ConnectNo
Screenshots, description, pricingApp Store ConnectNo
App Privacy declarationsApp Store ConnectNo
TestFlight tester managementApp Store ConnectNo
Submitting for reviewApp Store ConnectNo
Compile + code-signmacOS toolchainYes

The one genuine macOS dependency

Apple ships Xcode — the compiler, codesign and xcodebuild — only for macOS, and doesn't license the iOS SDK elsewhere. That's the single hard requirement in the whole chain.

Everything else in the table above is a web form or an API call. This is why "you need a Mac for iOS" is technically true but practically misleading: you need macOS for one step, not for the job.

Creating certificates without a Mac

Most guides tell you to create a certificate signing request using Keychain Access on macOS. That's one route, not the only one.

A CSR is standard public-key cryptography — a key pair plus a signing request. Any platform can generate one. Apple's App Store Connect API then accepts the CSR and returns a certificate, and can create provisioning profiles programmatically too.

This means the entire signing setup can be scripted from Windows, which is exactly what automated tools do on your behalf.

A practical Windows-based workflow

  1. Enrol in the Apple Developer Program in a browser ($99/year).
  2. Register your bundle ID and create the app record in App Store Connect.
  3. Generate an App Store Connect API key (.p8, App Manager role).
  4. Create your distribution certificate and provisioning profile — via the portal or the API.
  5. Build your Unity project on Windows; it exports the Xcode project.
  6. Delegate the compile and code-sign to a cloud macOS machine.
  7. Upload to TestFlight and manage everything else in the browser.

Where the cloud step comes from

Three routes, covered in detail in our tools comparison: Unity Build Automation, a CI service with macOS runners, or a Unity Editor tool such as MacFree that runs steps 4, 6 and 7 automatically.

What you give up by avoiding a Mac

An honest accounting — there are three things you genuinely lose:

Run the whole workflow from Windows

MacFree handles certificates, cloud builds and TestFlight delivery from inside Unity.

Get MacFree on the Unity Asset Store →

Frequently asked questions

Can I avoid using a Mac for iOS development?

Yes, for most of the workflow. Apple Developer Program enrolment, certificates, provisioning profiles, App Store Connect, TestFlight and submission are all browser or API based and work on any operating system. Only the compile and code-sign step requires macOS, and that can run on a cloud machine.

How do I create an Apple certificate without a Mac?

Generate a key pair and certificate signing request using standard cryptography on any platform, then submit it through the App Store Connect API, which returns the certificate. Provisioning profiles can also be created through the same API without macOS.

What can't you do without a Mac for iOS development?

You lose interactive Xcode debugging with Instruments, convenient native plugin development in Swift or Objective-C, and fast local iteration since cloud builds take longer than a local archive. For most Unity game developers these are not blockers.