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.
Related
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.
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.
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..
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
I have a JQuery Mobile app. I'm curious how it looks/runs within an iPhone. I do not have an iPhone. I also, do not have a MAC. Are there any downloadable tools that I can use on a Windows 7 machine to see how the app looks within iPhone?
Thank you!
If you just need to see how your JQM app looks on iPhone you can try iphonetester.com.
You can also might be interested in much more advanced web based tool BrowserStack.
And finally if you need more than that (for example attach to iOS Safari instance to debug your mobile app code) than you need real or virtualized OSX and xCode iOS Simulator.
You can't do that in the Windows environment.
But you can use your computer to create a hackinntosh. A hackintosh is simply any non-Apple hardware that has been made—or "hacked"—to run Mac OS X. This could apply to any hardware, whether it's a manufacturer-made or personally-built computer.
Than you can use it to test an iPhone jQM app in the XCode iPhone emulator. Only downside of this method is that you can not use it to deploy final all into Apple app store.
Here's a short tutorial on what is a hackintosh and how you can deploy it on your computer: http://lifehacker.com/5841604/the-always-up+to+date-guide-to-building-a-hackintosh
And here's an youtube "how to" video: http://www.youtube.com/watch?v=pEW6d7m5Zc0