After signaling this back in August with the deprecation of the uniqueIdentifier property, it seems that Apple has begun rejecting apps that attempt to utilize your iOS device’s unique identifier (UDID). At the time it was deprecated, Apple did state that “A method identified as deprecated has been superseded and may become unsupported in the future”. The position of many developers however is that “may become unsupported” doesn’t mean the same thing as will become unsupported. With that said, on this one Apple actually added a Special Consideration which stated:
Do not use the uniqueIdentifier property. To create a unique identifier specific to your app, you can call the CFUUIDCreate function to create a UUID, and write it to the defaults database using the NSUserDefaultsclass.
For Apple’s part, the company and many other major tech giants have been under increased scrutiny about their privacy safeguards and moves like this are the result of that. They clearly said “do not” use UDID, which couldn’t be more straight forward but it may not have been clear enough how much of an emphasis this would be. Some application developers use the UDID to track user behavior, but they have fallen out of favor because the users UDID is of course unique and more importantly permanent. This wouldn’t have been as bad, but users don’t have the ability to blocking sending their UDID to third parties the way you can block your SSID from being publicly displayed on your home router for instance.
According to TechCrunch, two of Apple’s review teams started “blanket rejections of apps that use UDIDs” this week, and that next week four teams will issue rejections — until all ten review teams reject apps that are using UDIDs. Since this isn’t completely unexpected, several app developers began moving away from using the UDID to the now recommended UUID which is app specific vice device specific. With that said though, any iPhone or iPad developers that are still using UDID are probably working around the clock to get their apps updated.