Can I distribute my App for any device without UDID?

56,261

Solution 1

"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.

Solution 2

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.

Solution 3

You can use TestFlight Public Link.

https://medium.com/nsistanbul/testflight-public-link-ile-beta-testçileri-kolayca-davet-et-d452886b64d8

https://developer.apple.com/news/?id=09262018a

Share:
56,261
Almas Adilbek
Author by

Almas Adilbek

Geek designer. I'm focused on quality products, where every single pixel is indispensable., Founder of Sajda.mobi & Kaz.News

Updated on August 03, 2022

Comments

  • Almas Adilbek
    Almas Adilbek over 1 year

    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?

  • Almas Adilbek
    Almas Adilbek over 12 years
    How apps stops working? Through internet connection? What cases will cause apps to stop?
  • bshirley
    bshirley over 12 years
    In the same way a developer debug installed app stops working on your device: when the provisioning profile expires, the app will not launch.
  • Holger Sindbaek
    Holger Sindbaek about 11 years
    @rgeorge thanks for the clear answer. Do you have a tutorial on how to work with enterprise accounts? What does Apple mean with "devices associated with the organization"? Do you think they are very strict with that?
  • healadin
    healadin about 11 years
    As for working with them, it's pretty easy - works just like a developer account, except that you can make signing profiles that will run on any device. I believe the contract specifies devices owned by and under control of the organization. As for strictness, I don't know, since we've never pushed the boundaries. Devices do verify profile certificates with Apple, so if 1000000 devices install an "in-house" app by a company with 50 people, Apple could in principle notice and revoke the enterprise membership. That would immediately prevent the app from running anywhere. Not worth the risk.
  • VH-NZZ
    VH-NZZ over 10 years
    Great reply. Do note that, as of Dec. 2013, the only downside of the VPP is that it is only available in select countries that happen to exclude some with (very) high densities of iOS devices (Switzerland, Sweden, Norway, Denmark, Finland for instance) so it's a little useless to us for now. Hopefully Apple will add countries soon but so far I got a dead end answer from them.
  • jujule
    jujule about 9 years
    will be shutdown on 2/26/2015 : thenextweb.com/apps/2015/01/26/…
  • Felipe Balduino Cassar
    Felipe Balduino Cassar about 9 years
    @jujule only TestFlightApp.com service will be shut down. the TestFlight native app will substitute the old website.
  • Victor
    Victor almost 9 years
    Apple extends countries list: Australia, Belgium, Canada, Denmark, Finland, France, Germany, Greece, Hong Kong, Ireland, Italy, Japan, Luxembourg, Mexico, Netherlands, New Zealand, Norway, Singapore, Spain, Sweden, Switzerland, Taiwan, Turkey, United Arab Emirates, United Kingdom, United States.
  • Andres C
    Andres C about 8 years
    In order to do this you need the Dev Account right? Do you know of any way to distribute to devices that are not mine without the USD100 account? Thx!
  • jungledev
    jungledev almost 8 years
    @rgeorge I wish Apple paid you to write their documentation. So clear. If only...
  • Hubert Perron
    Hubert Perron about 7 years
    Please note that TestFlight build expire after only 60 days. So that mean you have to publish a new build every 60 days if you want your user to continue using your app. The other solutions proposed in the accepted answer are way better integrated for those kind of deployments.
  • Almas Adilbek
    Almas Adilbek over 4 years
    Yeah, that is something happened in the future)
  • Master_Tushar
    Master_Tushar about 4 years
    You can you Firebase - Quality - Crashlytics, Read this: firebase.google.com/docs/app-distribution/ios/…
  • Ishita Sinha
    Ishita Sinha over 2 years
    The link in this answer isn't available anymore, but good news from the future: TestFlight was acquired by Apple and continues to function as a part of App Store Connect. It has become standard, since, to use TestFlight to test iOS apps before distributing them to App Store.
  • Qazi Ammar
    Qazi Ammar almost 2 years
    you can use TestFlight Public link to distribute to anyone. Please read this : developer.apple.com/testflight