App Rejections Are a Lousy Way to Communicate Policy Changes
I saw the news that Apple had rejected a few apps for using the device UDID a few days ago and hadn’t commented yet. Then John Gruber linked to this post which said pretty much everything I would have.
For those uninitiated, UDID is short for Unique Device Identifier. It is something that Apple probably shouldn’t have made available to developers but was common practice for years. Six months ago Apple deprecated access, meaning they told developers that sometime in the future they would stop giving us access to it. The implication, though, is that until it goes away we do have access. That gives us time to move away from it.
Sometimes the UDID is used for bad purposes (or could be). Most of the time it isn’t. For instance if you want to work with a pre-release version of an app then we need to get your UDID. That UDID is put inside the app and is compared when the app launches against your device to ensure you have permission to run it.
We also used the UDID for downloading templates from the Library in powerOne. We send your UDID to our server and is attached in a database to each template you request. When you quit the library (select Done) powerOne sends a message to the server requesting any templates marked with that UDID to be downloaded and then delete all the records off the server. We don’t store it and don’t connect your device to any sort of account. It is a temporary identifier. After Apple deprecated the UDID we switched and created a big random number instead and have been using it with the last few releases.
To me the surprising thing is that Apple didn’t wait until the feature was gone to reject apps. Even though we switched away from it, I hadn’t anticipated that Apple would use the review process to speed up the deprecation. It is still available for development but you can’t get an app in the App Store with it in, which makes the fact that the code is there moot. Everyone has to switch now.
Anyway, enough from me. Go read the post. It says most of what I would say if I was willing to write another 600 words on the topic.