Can you build a react-native iOS app using WINDOWS? - ios

Can you build for iOS with react-native on Windows?
Or does it require xcode?
If so, any work arounds?
I dont want to work on a mac... or a mac vm.

I think the app you create with react-native will work with iOS but you might just have to develop it without an iOS SDK. (essentially, you can't really see the app in a virtual iOS device whilst developing).
However, i think if you develop the app for android using android studio SDK with react native, the app should also work with iOS as well. It's just that you won't really be able to see the app in development on a virtual iOS device.
Another option is to use expo when using react native. Essentially, it displays your app on your iphone so you can technically do app development whilst viewing the app on an iOS device, but I don't think its that great as you can only see it on your phone, whilst I prefer to use a virtual device on my laptop.
You can view documentation for expo in the react native docs here:
https://facebook.github.io/react-native/docs/getting-started
I'd recommend you to just develop the app for android using the android SDK from Android studio. This also works with expo or react native CLI. Although you may have to develop the app in a virtual android device, I think the app also works with an iOS device (it may just look a little bit different e.g. a button in android will look different to a button on iOS)
Here's a tutorial that really helped me with learning React-Native:
https://www.youtube.com/watch?v=NuZOwsmzcro
Just follow the steps and make sure you install an android SDK. Then once you get to around "9:25", instead of starting up an iOS emulator from an iOS SDK, start up the android one from android SDK, then hit the button "a" to choose android and you're all set!

The short answer is NO. iOS apps need to build on a Mac. However, if you have a cheap old Mac, or even a Mac cloud account, you can effectively do the equivalent while (almost) never touching the Mac. Of course, this assumes that it has been setup up once, and builds via Xcode or Xcode command line. Once that is done, you can automate it so that you're working and testing only on the PC.
For example, I once took over a React Native project where the previous developer did something similar. Because it was a generic interface, he coded on his PC, then tested via the Android emulator without ever testing for iOS. At that point you can simply push code to GitHub (manually, or with something like Fastlane or a user script). Separately, you have a script on that old Mac or online Mac-as-a-service that checks periodically and builds when the code changes. There were some times when the Mac needed special attention, but for the most part, it worked solely on one machine.

Namely, you can not run IOS Simulator on windows. But you can access a virtual IOS machine and run Simulator from windows virtually as a solution..

Related

Can I use my IOS device (Iphone) to test my IOS flutter (or react native) app in Windows?

I know you need a Mac in order to build and test IOS apps using cross-platform frameworks, but is there any way I can use an IOS device instead to test out my app while I build it.
The only resources I can find are about using virtual machines to emulate a Mac but sadly my PC isn't that powerful to run both OS smoothly
Short answer: No.
You need a macOS operating system to build/compile an iOS app. No matter whether it has been coded with flutter, react native, ionic or native swift.
You could rent a Mac online, so that you don't need physical access to one. But in the end, you will need macOS somewhere.
If you rent a Mac you will have difficulties running the app directly on your phone. You will need to create the IPA and distribute it via a different connection to your phone.

Is it possible to open IOS simulator while developing React-Native APP on Windows 10?

I am developing an application by using React-Native. My operating system is Windows 10. I want the application to be competible with both iOS and Android. I am using Expo for the development. In expo,
There are above choices, since I don't have an iOS simulator, the second choice gives an error. How can I install an iOS simulator to my computer?
As of now, you can not create a simulator inside windows but there are many browser-based iOS stimulations available you can use them.
one of them is Appetize.io here It is free for use but you have to upload your app manually. There are many other options available. read here.

Run flutter app on iOS from android studio

So I'm trying to build an app on flutter SDK using the android studio platform and now I want to run it on an iOS device. I've serched on google like 1h but I couldn't find anything(they only said how to run it on MAC which I don't have) . Is there any way how can I run the app from my android studio (or output the iOS app like the android app file which I can find in the project folder?)
I believe your asking how to run your app on a physical iOS device which you can find on flutters website scroll down a little past half way and you will see a section called deploy to iOS devices. Since you don't have a mac testing on a physical device would be your only other option because you can not run a iOS simulator on anything but a mac computer. Gotta love apple :)
If you are without a mac there are some options to you. I will link to a couple articles below. Your best option is to get access to a mac I understand this isn't an option for everyone.How to sign Flutter apps for iOS automatically without a MacDeveloping and debugging Flutter apps for iOS without a Mac

Ionic ios app development

I am new to mobile development, working on my first app for both iOS and Android. I was under the impression that I can develop it through Ionic once (on my Linux system) and deploy it for both, but recently found out I need to develop on a Mac for iOS?
Like this guy said to someone equally unimpressed:
https://stackoverflow.com/a/38117802/8494414
Also stated here:
https://stackoverflow.com/a/40779188/8494414
My question is, at which stage do I need a Mac? Can I do all the development on my system and then just deploy with a Mac? Did I need to do something special from the get-go to support iOS? I am already rather deep in the process, but should I be considering a different framework?
I do find it strange that this knowledge doesn't seem very explicitly available.
Thank you for any help!
If you want to do a build for the iOS platform you will always need a macOS based operating system with xcode installed at some point. You can do all the coding on your linux machine as the hybrid part will be the same for all platforms. But if you want to test or deploy the iOS version of your app you will need either a mac or you will have to use some third party service where you can upload your sourcecode and you get a ready for install .ipa back. Ionic itself offers a service like that: see Ionic Package Service
As joshmorony said on his blog:
In order to compile an iOS application using Cordova, you need the iOS
SDK, which is only possible if you have a Mac and XCode. This is not
an issue for Android because the Android SDK can be installed on both
Windows and Mac. If you are not using a Mac, you simply can not create
iOS builds.
you can also use some virtual machines but they can be illegal and I don't recommend them

Developing in Qt for iOS on a Linux computer

I'm planning to develop an app for Android using Qt Quick Controls and an Android Emulator. The same set of components is said to work on iOS. Thus I'd like to build the app for iOS as well.
Unfortunately, Qt for iOS is only available for Mac.
I don't own any Apple or Android device. I'm using a computer running Linux.
What would then be the best way to be able to build the app for iOS (and test whether everything works as expected; most testing will take place in the Android emulator)?
If any more information is needed, feel free to ask in the comments.

Resources