Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Provisioning and distribution is a nightmare

I fully agree. I threw myself in at the deep end - never spent any length of time on Mac OS and only working from tutorials for Xcode, it was atrocious trying to figure it out!



It's deliberately hard, because developers are trying to implement a use case which Apple has tried to prevent.

The are four different options:

a) Developer builds which have to be installed using Xcode for each phone. That won't work for anyone able to install.

b) Ad-Hoc builds, which must be specified for each phone. Again that doesn't scale.

c) Enterprise builds, which install on a unlimited number of phones. This is fine, but everyone who installs them must work for the same company, and this is contractually required by Apple.

d) App Store builds, which obviously must be submitted to the AppStore.

What developers want is the ability to do an AdHoc build to anyone. This is restricted for the precise reason that it would allow someone (not Apple) to create a rival store.

Having said that, the error messages you receive could be a lot clearer when you mess the signing process up.


Great overview!

A few sidenotes:

b) TestFlight (https://testflightapp.com/) makes ad-hoc distribution marginally better. Adding new users to the build still requires grabbing their UDID and mucking around with the provisioning portal, but installing/updating to the latest build is infinitely easier for your users.

c) As long as you're not blatantly flaunting Apple's rules and bringing in hundreds or thousands of users, you can most likely get away with using enterprise distribution for beta testers. I've gotten invites to a half-dozen iOS apps built by friends who release their friends-and-family beta using an enterprise profile to avoid manual provisioning hell.


> Ad-Hoc builds, which must be specified for each phone. Again that doesn't scale.

It's not strictly one-to-one. You can stick all your test devices into one provisioning profile, and then all your builds will work on all the devices.

So the hardest part is asking your test users for their UUIDs.


Admittedly the first time I wanted to run an app on my device it took a while to figure everything out but this was back in 2009. Since then it's become an awful lot easier to provision and distribute. It's still much more difficult that it should be (Android and Windows 8 are much easier) but once you get the hang of it it's the same process every time.


And since it's a closed ecosystem, there's no way for a startup to come along and make the process easier. It all lies on Apple.


Testflight has made it a LOT easier, granted Apple could change things entirely one day and leave them dead in the water. XCode has significantly improved in auto provisioning too, still painful when something breaks, but not as bad as it was.


+1 on Testflight. May that day never comes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: