54
votes

I've been searching stackoverflow, reading in the various blogs to get answer to my question "Can I distribute my app to someone, without getting his device UDID?"

The answers I found is all about "NO! You must have the list of UDIDs"

BUT, I've people (private company) telling me that they used to install apps without giving their device UDIDs to developer. Developer used to send them .ipa file, they just drag&drop it in itunes, that's it! I'm dizzy..

By which way they did it without UDIDs? (I'm against jailbreak, it's not option)

Or, maybe they're lying?

4
why you want to do it would help us provide an answer. "No" is the short answer. If you have a Corporate iOS Developer account you can package up apps to be installed directly onto any iOS device (restricted by license) of any employee of your company.bshirley
You mean, I have to get enterprise developer acount, then I can package my app and distribute it for any device in my company? Without knowing UDIDs?!Almas Adilbek
@AlmasAdilbek Seems I'm wrong. Seems for enterprise distribution it is possible. Look at the stackoverflow.com/questions/7306441/…4ndrew
Well, it's funny, I will not dare to believe, so many answers around...Almas Adilbek
re: your first question: yes. yes. I'm working with a client now with that setup. We also check their server for the most updated version of the app. If they're running an old copy, we don't let it continue and send it to a link on their intranet, they can instantly install. Only have to support the latest app.bshirley

4 Answers

64
votes

"Private company". There's the clue.

App store developers can only distribute apps to (up to 100) devices with known UDIDs. That's the $100 plan most of us have. We can only create signing profiles for ad-hoc distribution to our 100 devices, or for sending to Apple. ([eta:] Or, now, for time-limited distribution to specific AppleIDs through the new Apple TestFlight.)

There also exists the enterprise developer program, a $300 annual plan open to businesses (currently, any business with a DUNS number; the requirements used to be more stringent.) Enterprise developers can't submit to the app store, but they can sign apps for installation onto any device, without knowledge of UDIDs.

The enterprise developer contract includes an agreement not to install such apps on devices not associated with the organization or business. Devices do verify the signing certificate with Apple, so if you try to sell enterprise-signed apps to the public, Apple will notice and shut you down. Also, enterprise provisioning profiles expire annually, so devices have to be refreshed with new profiles or the apps stop working.

[Edit to add, later:] A third, excellent, option (really just a feature of the first) is the B-2-B App Store. We've found this to be a much better fit for most user cases where we had been setting up enterprise accounts for clients before. It works almost the same as regular app store distribution, except that the app isn't public - it's visible only to a list of client AppleIDs that you, the developer, specify on upload. Those clients, who must sign up with Apple Business Manager (it's free), may then "purchase" as many copies of the app as they want, in the form of redemption codes, and distribute them to end user devices however is convenient.

It's very slick. Watch the WWDC video on it (a little outdated now but it'll give you the gist). B2B apps may cost anything you like, including $0. Downloads and updates use the normal app store mechanisms. Redemption codes may be assigned by device instead of by AppleID if the client uses Apple Configurator to provision their devices. There are some limitations but they aren't onerous. Highly recommended.

3
votes

It is possible using Apple Developer Testflight (yes, Apple bought a company called Testflight and didn't rename its service) for distributing iOS applications without needing to manage UDIDs.

Internal testing

You do need to know testers itunes Apple ID and there is a hard limit for available beta testers seats per app. As of 2016 it is 25 testers with up to 10 devices each. You need to assign testers admin or developer roles.

External testing

App has to pass the review process and there is limit of 2000 users.

0
votes

There are a couple of services that can do this for you, one is TestFlight which uses the enterprize developer signing that rgeorge has described to distribute your app. The testers do not even need to use iTunes to install the app to their device.