Starting Iphone App Development in Linux

Build applications for iPhone using Linux or Windows?

PhoneGap uses html, Titanium uses javascript. Both run on iOS (after jumping through the proper hoops).

I believe you can use the xcodebuild option from commandline to work with native Objective C iOS projects in Linux if I'm not mistaken. If not, you can virtualize a Mac environment to run xcode in full.

Typically, it's best to learn the ropes of the native platform for best results. Most other options will require sacrificing functionality or ease of implementation.

As a last resort, you may be able to install OS X on your PC if you have compatible components. Check out "Hackintosh" for more info on this route.

iPhone App Development on Ubuntu

Many of the other solutions will work, but they all make use of the open-toolchain for the iPhone SDK. So, yes, you can write software for the iPhone on other platforms... BUT...

Since you specify that you want your app to end up on the App Store, then, no, there's not really any way to do this. There's certainly no time effective way to do this. Even if you only value your own time at $20/hr, it will be far more efficient to buy a used intel Mac, and download the free SDK.

Can I write iOS apps in Linux?

I don't want to say it's impossible, but it's not going to be easy. Let's assume that you can get the SDK and compiler working on Linux. You'd still be crippled because Apple's proprietary tools for creating interfaces graphically is built into Xcode. You can define all of your interfaces in code, but it will be unnecessarily time consuming and much less maintainable.

What's the state of developing iOS apps in Linux?

There's a misunderstanding here.

Swift the programming language is open source.

It doesn't mean that iOS or OS X frameworks, like Cocoa, UIKit, etc, are available in Linux - Apple didn't announce that.

When you make an app for iOS using Swift, you have to import UIKit and other libraries - those are the iOS parts.

Swift is just the language - you can already make an iOS app with Ruby, Objective-C, JavaScript, etc, using these same libraries.

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

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:

  • How to sign Flutter apps for iOS automatically without a Mac
  • Developing and debugging Flutter apps for iOS without a Mac
  • How to develop and distribute iOS apps without Mac with Flutter & Codemagic
  • Build an iOS app without a Mac or iPhone using Flutter

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.

Related Topics

Leave a reply