How to Distribute My App for Any Device Without Udid

Can I distribute my App for any device without UDID?

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

Testing IOS app on multiple machine without UDID

The best way is to archive your app using the Enterprise deployment target.

How it works :

  1. Generate the ipa for entreprise distribution (with the correct provisioning profiles) ; the other distribution system requires the UDID of every device to be added to your developer profile.

  2. Upload the ipa wherever you want, if you need something beautiful, you could make an app that lists your IPA (your store ^^) with information about it, and a link to download it (look below)

  3. Upload the .plist file and make it so the url in the url field is the .ipa that you uploaded on step 1.

  4. Create a basic HTML page with this line where you want it :

    *<*a href="itms-services://?action=download-manifest&url=YOUR-UPLOADED-PLIST-FILE.plist">Clic here ;-)</a>

Users can now clic it and download ;)

(I had to add two ** at the start otherwise SO would show it as a link.)

I'm not sure if you can publish your store app on the app store though, and I think you only need the 99$/y subscription. This needs to be checked.

Do you need more information?

How to distribute an iPhone app for testing without getting UDIDs or jailbreaking?

Providing you're already registered with the Apple Developer Programme, you can upload your build and from within iTunesConnect use the TestFlight options to make your app available for download.

There are two options, 'Internal Testing' and 'External Testing'.

(In answer to question about the profiles, you don't need to have an Enterprise Provisioning Profile.)

As you wish to make the app available for unknown devices, you will need to use external testing. Here is a link to Apple's info on it https://developer.apple.com/testflight/

You will need the email addresses of the beta users (up to 1000 users) as those will be used to send an invitation to download via TestFlight from the device they wish to download to.

For external testing, your app will need to be submitted to Apple for Beta Review, which normally only takes a day or so for them to approve. Once approved this build is available to invite the beta testers to download

I hope this helps



Related Topics



Leave a reply



Submit