It is not something of Flutter itself, but Apple’s own requirement, to compile for iOS is necessary the Xcode, which only has in its products, not at all 'Developer friendly'.
Regardless of the technology you will use (Flutter, React Native, Ionic, Native...), you will come across this same problem if you want to generate app for iOS.
But that doesn’t mean you necessarily need to buy a Mac. You have a few options:
Pay a few hours to use a Mac in the cloud. Services like that, that or that.
Try to install and use the Mac on Windows through Virtualbox, but already notice that it is a way that will give many problems. (more here or here)
Borrow a Mac from someone you know, or pay for the loan..
But beyond all that, it is valid to quote the following.
Flutter’s SDK takes for itself the responsibility of rendering all widgets on the canvas of our smartphone, which means that it does not 'depend' on the platform for that service, what ends up giving an immense freedom to the developers and visual independence of the platform itself.
With that in mind, just so you know how your app will look on iOS (visually and behaviorally) 'double-cross' the SDK for him to think he is running on an iOS. And to our delight, to do this with Flutter would just click a button.
Using the inspector flutter itself, there is this option Togge Platform:
After clicking, in the console comes the information:
Switched platform rendering to Android.
or
Switched platform rendering to iOS.
And the behavior of the app running with Android 'mimics' the behavior of the app with iOS:
Above, Appbar title renders to center if iOS.
Flutter is Google, new language, for Android and iOS, and soon Web... there is no way to be afraid! I would be afraid to lose the advance at the beginning, yes!
– rbz
Windows with iOS face is not emulator, is at most simulator and is neither able to run apps, nor development, and no, Flutter is not just a language, is a Development Kit. The only way to emulate iOS is to have a Macos, or create a hackintosh or hire a cloud (mac server in the cloud).
– Guilherme Nascimento
Any answers? https://answall.com/q/213185/101, https://answall.com/q/35337/101 and https://answall.com/q/157445/101
– Maniero