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

19,652

Solution 1

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.

Solution 2

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.

Solution 3

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.
Share:
19,652
Bhagwad Jal Park
Author by

Bhagwad Jal Park

Updated on June 08, 2022

Comments

  • Bhagwad Jal Park
    Bhagwad Jal Park almost 2 years

    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?

  • secretformula
    secretformula over 11 years
    It is possible to buy (wink wink) mac OSX and run it in a VM to develop for iPhone.
  • driis
    driis over 11 years
    @secretformula, yeah, but it's against Apple's license terms. I added it in the answer for completeness though.
  • Mick MacCallum
    Mick MacCallum over 11 years
    From what I understand running VM can cause problems when it comes to different code signing and certificate procedures.
  • secretformula
    secretformula over 11 years
    @driis That is true but for his homebrew app purposes it honestly works really well. Well enough to see if it's worth developing the app and the initial costs for the full development suite in my opinion. Plus what isnt against apple haha
  • Mick MacCallum
    Mick MacCallum over 11 years
    @secretformula +1 Ahhh a developer trial!
  • Bhagwad Jal Park
    Bhagwad Jal Park over 11 years
    Thanks - looks like there's no free technique after all :( . No iOS development for me I guess...
  • JustSid
    JustSid over 11 years
    @secretformula Sorry, but Stack Overflow is not the place to encourage illegal behavior.
  • Nazar
    Nazar about 6 years
    For the web apps, you can only run it off-line on your phone, or the app will be able to access on-line services? I only plan to run it on my phone, but need it to access the internet.
  • hotpaw2
    hotpaw2 about 6 years
    If the iOS device is on-line, you can just clip your web site (in Safari: "Add to Home Screen"), and do whatever you can do from your regular web page URL.