I have been using Linux (especially, Ubuntu) and Windows 7 for a long time. I want to publish iOS apps, but I don't have a Mac or an iPhone. I don't have anyone near me who will lend me a Mac, and I don't actually want to buy them either.

So my question is: how do I publish my iOS app from Windows or Linux? I am not referring to publishing programs for jailbroken iPhones, I want to publish through the Apple Store.

My search results indicate that there is no fool-proof way of publishing an iOS app from Windows or Linux. I also want to make it a paid app, and not give it away for free.

5 Answers
5

Basically, Apple's policy is that in order to develop for iOS, you need a Mac.

They have all sorts of reasons for doing it that way: increased sales on the desktop market (which isn't exactly Apple's cash cow), controlling the development platform, better brand exposure, you name it.

Now, there may be tools to develop iOS apps without a Mac, but these will never be officially supported, and as such, they may break any time - Apple controls both the target platform and the development tools, and one of the reasons to do this is so that they can change both in tandem more quickly and without having to watch out for compatibility with third-party tools.

Apart from the political issues, if you develop for any platform, you absolutely need a real specimen of the device you're going to deploy to, if only for testing purposes. If you don't, you will miss edge cases, usability no-no's, and you are at risk of hitting cases where the emulation is not accurate.

Bottom line, you want to develop for an Apple platform, you need a Mac - consider a used mac mini, or if you're daring, a hackintosh. Or decide to not develop for iOS.

Thanks tdammers, your answer was very helpful. Now i know that there is no meaning of trying to develop an app for ios if i dont buy a MAC. Thanks again .
–
The Dark KnightSep 21 '12 at 9:47

A used Mac which is "good enough" for iOS development should be much more feasible than a brand new one. You may want to consider how it is to develop for Linux using only Cygwin under Windows to see why you might as well just do the plunge.
–
user1249Sep 21 '12 at 12:30

I can't believe no one mentioned Dragonfire SDK. They recently came out with version 2.0, which adds a lot of features. You program in C/C++ with Visual Studio, and your C++ code uses their API to actually call iOS objective C funtions, so it ends up being native. It comes with a great simulator for testing from within VS. Then when you are ready to compile it to native code, you send it to their servers, which compile it in MacOS X, then sends the file back to you. You can even publish paid apps to the app store through them from Windows. If you don't have an iOS developer ID, they let you publish free apps through them for free, in their name. I assume you could use your own ads that way.

The only downsides are that it costs $99 for iPhone or iPad versions and $149 to do both. Also, it's Windows only; they don't have a Linux version.

Officially you must have an Apple computer (iMac, Macbook, etc), and boot it in Apple OS X in order to develop for the iPhone. Unofficially, you can get a running OS X in a virtual machine that you can run on any computer under any OS. There's also the possibility to acquire an OS X image that can be installed on a non Apple (but still x86) computer. I've seen this working, but it's not great. Apparently you have a hard time connecting your IOS device to such a setup in order to deploy your app. Also, since the IOS SDK is tightly bonded to the OS X version, and thus you need the latest OS X in order to use the latest SDK, it's far simpler to just buy the Apple software and hardware.

I think it's important to the discussion to note that there are cross-platform SDKs that can be installed and tried on various platforms, but which still require Apple hardware and software to deploy to IOS. However these allow you to try them on non-Apple stuff (or at least preview them) before deciding weather to invest in that SDK's OS X license. An example of this is Unity 3D which can be installed on Windows as well as OS X (and Linux I think is coming up in the next version). You can easily see some of its basic capabilities even without having an Apple computer, then you can opt to buy its OSX/IOS license and install it on a Macbook in order to deploy whatever you make with it on an IOS device.

Thanks Shivan, you have given me some thing to look forward to here .
–
The Dark KnightSep 21 '12 at 11:58

De nada. I've forgot to also mention Adobe AIR which now lets you develop Flash applications for IOS, but can be easily tried on a non-Apple computer. Never tried this one personally, though.
–
Shivan DragonSep 21 '12 at 14:45

You might have to look at the tools you are utilising for the iOS development, there are platform independent tools like Microstrategy mobile platform which simplifies the mobile app development and a single source can be used for multiple devices so have a look at it.