Apple Phasing Out Developer Access to UDIDs in iOS 5
TechCrunch reports that Apple is making an interesting change in iOS 5, phasing out the ability for developers to access a device's Unique Device Identifier (UDID). Apple is instead asking developers to create unique identifiers specific to their apps in order to tie installations to specific users.
This is a big deal, especially for any mobile ad networks, game networks or any app which relies on the UDID to identify users. Many apps and mobile ad networks, for instance, uses the UDID or a hashed version to keep track of who their users are and what actions they have taken. App publishers are now supposed to crete their own unique identifiers to keep track of users going forward, which means they may have to throw all of their historical user data out the window and start from scratch.
Apple and a number of app developers have been sued over their handling of UDIDs. While UDIDs can't directly be linked with a specific users, information tied to a device can be passed along to advertisers to help them in targeting their advertisements, with some privacy advocates objecting to the practice.
With the UDID, ad networks can track what apps are being used on a given device, enabling them to piece together a valuable picture of activity conducted on a specific device. Apple's move seems to specifically address that concern, breaking down identifiers to the app level to limit the ability to put together such a complete picture.
Popular Stories
Game emulator apps have come and gone since Apple announced App Store support for them on April 5, but now popular game emulator Delta from developer Riley Testut is available for download. Testut is known as the developer behind GBA4iOS, an open-source emulator that was available for a brief time more than a decade ago. GBA4iOS led to Delta, an emulator that has been available outside of...
The first approved Nintendo Entertainment System (NES) emulator for the iPhone and iPad was made available on the App Store today following Apple's rule change. The emulator is called Bimmy, and it was developed by Tom Salvo. On the App Store, Bimmy is described as a tool for testing and playing public domain/"homebrew" games created for the NES, but the app allows you to load ROMs for any...
Last September, Apple's iPhone 15 Pro models debuted with a new customizable Action button, offering faster access to a handful of functions, as well as the ability to assign Shortcuts. Apple is poised to include the feature on all upcoming iPhone 16 models, so we asked iPhone 15 Pro users what their experience has been with the additional button so far. The Action button replaces the switch ...
A decade ago, developer Riley Testut released the GBA4iOS emulator for iOS, and since it was against the rules at the time, Apple put a stop to downloads. Emulators have been a violation of the App Store rules for years, but that changed on April 5 when Apple suddenly reversed course and said that it was allowing retro game emulators on the App Store. Subscribe to the MacRumors YouTube channel ...
iOS 18 is expected to be the "biggest" update in the iPhone's history. Below, we recap rumored features and changes for the iPhone. iOS 18 is rumored to include new generative AI features for Siri and many apps, and Apple plans to add RCS support to the Messages app for an improved texting experience between iPhones and Android devices. The update is also expected to introduce a more...
Top Rated Comments
UUIDs are typically used as database keys in apps that connect to servers. So why are they being deprecated?
Because UUID's uniquely identify a device, not a user. This is problematic in several scenarios:
* users with multiple devices. If a user has both, say, an iPhone and an iPad, and an app that runs on both of them, they want the same data to be available on both devices. Using UUID as an identifier means this doesn't work. If an app was storing some server-side data for me, this would get lost.
* devices with multiple users. iOS doesn't currently support multiple users, but maybe it will in the future. Using a user-based identifier will be needed to make this work.
* upgrades. When I upgrade my 3GS to a shiny new iPhone 5 in October, the UUID will change. If any app was storing data server-side based on only my UUID, that data would become inaccessible.
With iCloud, Apple now have a fairly reliable way to identify users rather than just devices. Since developers can make use of iCloud too, this is presumably the recommended way going forward. Hence the UUID deprecation.
This passes the blame to the developers and not Apple now. :D
Apple's just protecting themselves on this one.;)
1) To finally put an end to incentivized installs through networks like TapJoy and Flurry (they currently are able to track installs by users' UDIDs)
2) To begin the change to associate all of the app's content to the user's Apple ID through iCloud
It will be a bit of a pain as a developer, but it makes sense.
EDIT: As some people have noted, I do NOT think that the large number of people getting pre-access to iOS 5 has to do with this. They can solve that by a much simpler solution.
And where exactly is your proof that Apple uses the UDID for anything other than what it is meant for? Again, Apple doesn't need your UDID, even for its iAD ads. They already have information on you from other sources that you gave them. Google does the exact same thing... You create an account for a Google service and they have your information that they can use to target ads at you, they do not have to share this information with anyone else... How is that different from what Apple is doing? I can't remember ever seeing another ad network post ads all over Google's services.
Also, the UDID is tied to a hardware device, not a person, trying to link the two means a possibility of your data being merged with someone who later owns that device after you no longer own it.
Sorry, but tough **** for OpenFeint. As a gaming network their only course of keeping track of users should be through a voluntary account creation and login by the user who's interested. This applies to EVERYTHING. If I'm interested in the service, I'll sign up for it!
I've only been coding since 1981, starting with BASIC, then 6502 Assembly, then MC68000 Assembly, DOS Batch files, Pascal, C, C++, SmallTalk, Objective C, Javascript, PHP, UNIX Shell scripting, etc... First on an Apple II, then IBC PC, AT&T System V System, Classic Mac OS, Mac OS X, WWW, iOS.
Uh the last time I checked, I've never been able to do a straight copy of code from one language to another across platforms... code across languages is not syntactically the same and API's across platforms are not the same either. You cannot transfer code from one language/platform into another without making changes.