Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there no way I can develop for iOS without paying money? [closed]

I code for fun mostly and perhaps would later want to freelance. I currently program for Android and have released a few apps for free. The point is just to build the applications, not to earn money from them, so I don't have ads on them either.

I thought I'd expand my skills to iOS, but found that I have to buy a mac and also pay a yearly fee to Apple for publishing my apps on the iOS app store.

Maybe I'm not understanding something here or I'm missing some vital piece of info. Is there no way I can code and distribute my app on the store for free and without purchasing an expensive macbook? I just bought a new Sony VAIO and I can't afford another computer (and I don't need one either).

Have I got all the facts right or am I missing something?

like image 225
Bhagwad Jal Park Avatar asked Aug 25 '12 16:08

Bhagwad Jal Park


3 Answers

You are more or less right.

  • You need to pay the yearly fee to Apple in order to distribute apps.
  • You need a Mac to run Xcode and develop for iOS.

However, the Mac Mini, even some of the older models, will run Xcode alright, so there might be money to save there.

Also, once you have a mac, you can build apps and run them on a simulator without paying the Apple Developer license - but you do need to pay the $99 to publish them and even run them on your own iPhone.

I don't agree with Apple on all of these restrictions, but it is their decision and there is not much to do about it.

I should also mention that you can buy Mac OSX and run it virtually on non-Mac hardware, but doing that is against Apple's license terms, and therefore illegal. Though it might be interesting for you to do this I would not recommend it due to the legal issues.

One final option for you would be to rent a Mac in the cloud and connect to it (via VNC, Remote Desktop), to try it out - but for real development on a device, you still need actual Mac hardware.

like image 86
driis Avatar answered Nov 13 '22 02:11

driis


There appear to be at least a couple online services which will allow you to rent time on a Mac in the cloud (to use remotely via RDP or VNC from your PC). Make sure the Mac on which you rent time has the latest version of Xcode and iOS SDK installed and available for use, and you can use that for all iOS development except direct device debugging.

Access to Apple's App store requires paying to enroll in their Developer program.

The absolutely free option is to develop iOS web apps. These can be made clippable with a custom icon, run off-line with a suitable manifest and MIME type, and can be downloaded from your own web site or server, no App store approval required.

like image 6
hotpaw2 Avatar answered Nov 13 '22 01:11

hotpaw2


To develop app for iOS, you need:

  • Xcode, which means you need MacOS. Usually, you would need a Mac computer (iMac/MacBook/etc.), but you can also install MacOS on VM. I'm not sure if it is possible to set up an environment as replacement for Xcode.
  • Run and test the app. iOS simulator is OK, but there might be subtle difference between the simulator and the real device. If you want to test on real device, you need to join the Developer Program, or you can also jailbreak the real device and go through a clunky process (involving packaging the app, and copy the app to the device via command line) to run the app.
  • Somewhere to distribute your app (as a product). You need the Developer Program (again), if you want to distribute the app on Apple AppStore. If you want to distribute app for jailbroken device, you are free to do so, without any restriction.
like image 2
nhahtdh Avatar answered Nov 13 '22 00:11

nhahtdh