Is it possible to develop iOS apps with Flutter on a Linux virtual machine?

Philipp picture Philipp · Nov 12, 2016 · Viewed 29.7k times · Source

I am new to developing mobile apps and wanted to try Flutter but I use Windows. Because Flutter doesn't support Windows yet I had the idea to use a virtual machine running Linux to install Flutter. Does this work?

Also in the Flutter setup it says this:

To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.

Is there a way to develop iOS apps without having a Mac?

Answer

Suragch picture Suragch · Feb 1, 2019

Yes, you can develop iOS apps with Linux (or Windows) using Android Studio or Visual Studio Code. The point of Flutter is that you have one code base and can deploy to both Android and iOS. So the development phase is no problem.

In the past you could only deploy iOS apps to the App Store if you had a Mac, but there are some more options now. See the following articles:

To test your app on the iOS simulator, though, it is still necessary to have a Mac. However, theoretically the app should have the same behavior for most things as on an Android device, so you wouldn't necessary need to test it using the iOS simulator. I would say long term you would probably want to consider getting a Mac, but it is certainly not necessary in the beginning.

Update: In a recent app I made, my tests passed in the Android emulator but crashed in the iOS simulator. It was a normal bug and nothing specific to iOS, but for some reason the Android simulator didn't crash. So for a production app, you really do need to test it on an iOS device/simulator.