How do apps get loaded on iOS for free

applicationshosts

I have Googled over and over and cannot get an answer to a fundamental question I have. To get an app downloaded onto an iPhone, do I need to open an apple account of some sort and pay for the account or is there a way to host the app (for free) and get it downloaded to an iPhone for free?

Thank you for helping me get started here.

Addendum

Let me clarify my question.

I am starting to build my own little app. I'm a web developer looking to move into mobile app development. I want my family to be able to download it and use it on their iPhones.

So, can I host my app for download onto their iPhones? Can I host it somewhere else where people can down without cost? Or is the only way to get an app downloaded to an iPhone is through Apple by registering with them to do that? And if Apple is the only way, do they offer free accounts to do that?

Best Answer

Web apps are easy, you just need to use Apple Configurator or the iPhone configuration utility to package the URL and add it to the home screen. You can also perform this from mobile safari directly.

You only need a web server and there are plenty of free web services if you don't want to host the app on a computer you control and could run MAMP or some other tool to serve http.

Once you cross over into native apps, it gets more complicated. There is an API and it's secured by digital signatures to ensure the OS can track the application's provenance and detect if it gets modified after it has been installed.

In general, iOS supports four major ways to load native applications. The first three require Apple to be involved and all carry a financial and time cost. The fourth bypasses the code checks and allows unsigned apps and has no financial cost but carries a different time cost.

  • Through the iTunes App Store once the app is signed directly by Apple
  • As a paid developer by signing the app with a developer certificate (which itself is signed indirectly by Apple)
  • As an enterprise customer by signing the app with an enterprise certificate (which itself is signed indirectly by Apple)
  • Jailbreak the device to load apps that are not signed by Apple (directly or indirectly)

Since you mentioned free:

  • Jailbreak should cost nothing, you just spend time learning and obtaining free software to jailbreak each device.
  • Paid iOS developer requires a Mac with a recent OS X (not free), Xcode (free) and a $99 one year window to run all your apps on a limited set of iOS devices (100 at the moment) for that one year period.
  • App Store Distribution requires a delay (where Apple decides if they even want your specific version of your app to be on their store) and costs nothing during the year your paid iOS developer account is valid. If your paid developer account expires, your apps come off the store.
  • Enterprise Distribution is the most costly. You near a legitimate corporation with legal filing, corporate DUNS number to prove you have a financial record as a corporation, etc… It starts at a $300 payment and I'd guess months delay and legal/regulatory fees of $1500 in the US to be set up as an enterprise client of Apple.

Now, you can mix apps of all 5 types above as long as your device is jailbroken. If your device is not jailbroken, you can mix the three Apple approved methods with web apps on the same device on an app by app basis.

The vast majority of people load apps through the app store, so all other methods are collectively called "side-loading". As you approach your work, think more about how the OS decides to install the app as opposed to how it's actually delivered. Once you get how code signing works, the delivery issues will work themselves out.