One thing that bit me a while back, and should be publicised I think, is the current limitation around device IDs in the iPhone Program Portal.
If you are writing iPhone software, you get to specify the hardware ID of a hundred iPhone or iPod Touch devices that your software can be installed on for the purposes of testing. Set up correctly, you can have a group of beta testers which you can send pre-release builds of your software to. They don’t need to go through the App Store, the software can be put directly onto their device via iTunes. This is known in the program portal as “ad-hoc” distribution.
This is invaluable for testing out new versions before you submit them to the store for everybody else, and wasn’t something available right at the start of iPhone development. Before iTunes Promo codes came along, it was also used by people to give copies of their software to the press.
All you need is to get the UUID of the device, enter it into the Devices tab of the program portal, and it’s then available to be assigned to the “provisioning profiles” which are the magical files which say which devices a particular ad-hoc application can be installed on.
The user interface suggests that you can have 100 testing devices in use at any time, and there are controls at the side to add, remove and modify the existing devices.
So, for example, when the iPhone 3G came out, a lot of my testers got new devices, and I went through and updated their entries to list the new UUIDs.
Then, at some point a few months back, I hit a problem trying to update a device from somebody who lost their phone and got a new one – all the controls to edit the devices had vanished:
I didn’t have 100 devices in use, and anyway, I figured that if I ever did hit 100, I could just remove some folk to make room for new one. It looked like some kind of bug to me. So I sent a detailed email explaining everything to Apple, and a month later got the following response:
Please know that each Standard iPhone Developer Program enrollment has a limit of 100 test devices please be aware that removing a device will not replenish the current amount available .
I hope this information was helpful.
Uh…. no, not really.
Reading between the lines, and discussions on the forums, it sounds like every time I deleted or modified an entry, I was getting one closer to the magic figure of 100 device IDs you have entered since the beginning of time. When you hit the limit, regardless of how many total device IDs you have listed in the portal, your ability to further edit the list is removed completely.
Some people have been told that after removing a device, the slot is eventually freed up one year later. Given than the whole history of iPhone development is itself only about a year old, this isn’t exactly helpful. I don’t have any direct evidence that this is true anyway.
I can’t currently add any new testers or change their device entries if they get new ones. And I can only imagine what is going to happen when the new iPhones come along, presumably next month, and lots of people get replacements. If I bought a new iPhone for myself, I couldn’t even add it to my own list of development devices currently.
Now, I understand why Apple has put some limits on this – people were using the ad-hoc feature to bypass Apple and sell software directly to their customers outwith the App Store, very much against the rules. But now, anybody who wanted to do that and break all the agreements in place with Apple, would probably do so with the much easier promo codes. So, this restriction is just hurting real developers who are working within the system.
The last thing I heard about five weeks ago was:
We are currently reviewing your inquiry and will get back to you very soon.
And, so far, nothing. This problem is sonar ID 68922738 for anybody at Apple reading this who cares. Bottom line, developers be careful with your device IDs, you might not have as many left as you think…
Oh, and since this is about to push my PCalc promo story of earlier today off the front page… PCALC FOR iPHONE HALF PRICE SALE, GET IT HERE!