iOS development on a windows virtual machine

Hey Friends,

my first App with Ionic for android is almost finished. Now I was checking for how to publish it for iOS. What I found out is that it’s pretty complicated and maybe even illegal to do that without owning a mac.

Is anyone having experiences with developing iOS Apps with a virtual machine and publishing it to the Apple Store? Wow difficult is it?

What I found on the docs page (Publish to iOS App Store: Apple App Store Deployment for Ionic) is that I will need:

  • A Paid Apple Developers account
  • A valid provisioning profile
  • App Development and Distribution certificates

A paid Apple Developers account I will get from my company, The other 2 points I hope to get along the process.

I’m also wondering how long does it normally take to get a IonicApp which is already working on Android to be ready for publishing it in the Apple Store? There might be an option for me to just let a college do that for me.

Thanks a lot in advance.


Yup, iOS development can only be done on a Mac. Gotta love Apple’s closed ecosystem forcing developers to own Macs. I run Linux so I was in the same predicament. At the moment, I am using to build the iOS app and push it to my Apple Developer account.

In regards to time, if you already have the Apple Developer account, maybe a few hours?

Other iOS build options:

  • Ionic Appflow
  • Azure (I’ve seen tutorials on setting this up)
  • GitLab is now offering Macs for builds, last time I knew though it was a closed beta
  • AWS EC2 Mac instances - $1.083/hour with a minimum of 24 hours due to Apple’s licensing (thanks Apple…sigh)

For us, the best solution was MacInCloud so we can use the iOS emulator and test out the app. Right now we are using the Pay-As-You-Go plan which is $30 for 30 hours. Only caveat with that plan is the highest Mac OS version is Catalina 10.15.7 which supports xCode 12.4. Anything higher, you need to go with a monthly plan. I am sure it has to do with Apple licensing too. For us, we are still in Beta so not testing on the lastest iOS version isn’t a big deal.

1 Like

Hey thanks a lot Twestrick,

That MacInCloud solution sounds pretty good. I also need an iOS emulator somehow… Do you know if the iOS emulator that comes with xCode is good enough for testing the functionality of an App ?

You can get 90-95% testing done in Chrome emulating an iPhone. To test native specific stuff, the iOS emulator in xCode has sufficed for us. There is one exception though. You cannot test push notifications as the emulator doesn’t support it. You have to use a physical device (thanks Apple).

1 Like

Allright, thanks again. I will go with that. Should be enough for my purpose :slight_smile:

1 Like