Had a rude awakening a couple of days ago that the 100 devices available in the iPhone Developer Program for Development and Ad Hoc testing is a high-water-mark limit. Once a slot is allocated to a UDID, cannot be reassigned to another device. You can remove it, but it does not release the slot for a different device. The remove operation is more like a disable operation meant for preventing access to your test application, e.g. if a beta user started abusing your system in some way.
What does this mean to you, the developer?
You will definitely used up one UDID for your development iPhone. If you are running a beta test of your application on, say, 50 beta test users. You collected the 50 UDIDs fromt them. Uploaded them to your Developer Portal and generated the necessary mobile provisioning files. You are done with your beta test. At this point, you have 51 UDIDs in use.
You want to do a second beta test (may be for a different app, or another version of the same app) with a different set of 50 beta test uesrs. Whoops…too many. So I deleted the 50 UDIDs from the first beta test and want to add the 50 new beta test users. Whoops 2! I cannot do that. I can only add 49 of them.
Here’s Apple Math:
- Start: 100 slots
- Subtract 1 for my Development iPhone. You have 99 left.
- Subtract 50 for the first set of beta testers. You have 49 left.
- Add ZERO for deleting 50 users of the first beta test. You still have 49 left.
- Subtract 49 for the second set of beta testers. You have 0 left. The 50th beta tester cannot be added.
At this point, you are “done”. You can no longer add any more devices to this account. Suppose you bought a second iPhone for testing. Well, you can’t add it and use it for development testing cause you are out of slots.
The “remove” command makes you think that you can free up a slot. No it doesn’t. And once a device is deleted, it cannot be undeleted either. So you are truly and royally hosed at this point.
There’s one solution though. Time. You can wait till your one-year iPhone Developer Program is up for renewal. Once you renew, you can delete all your devices and then you have 100 available slots again. You can also apply for a second iPhone Developer Program account, wait 2 weeks or so, pay $99, then you have a second set of 100 slots. But this will be a different account from the first one and you will still need to maintain the first account for publishing your app. This second account is purely for development only.
I certainly hope Apple will change this policy in the future.