Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Folks, Apple aren't removing access to UUIDs, they're just deprecating them. All that "deprecation" means is that is that UUIDs are not recommended for use in new applications.

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.
 
Last edited:
Well this is going to screw up my app

At the time I developed my app there was no way to ask Apple what subscriptions a user had bought (you can ask Apple what once off purchases have been made for your in-app things but not what subscriptions the user had),
so to make sure a user didn't lose their subscription I associated their subscriptions to their UID on my server. That way if you deleted the app and re-installed it you could still have access to the subscriptions.
At no point did I use the UID in an attempt to track what the user did or who the user was etc.

Good thing I was planning on decommissioning the app around this time anyway.

(I should note I provided a way to share your subscriptions across different iOS devices, but that just involved entering some completely random ID into your devices that I generated as I didn't want to make the user sign up to something with a username and password)
 
Last edited:
Wirelessly posted (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_4 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8K2 Safari/6533.18.5)

I am glad they are changing it. App developers need to get over it.
No they don't as depreciation doesn't mean it no longer works.
 
sounds like Apple is doing this to lock down their own ads, Force game center on more people oh and make cross platform development harder.

This is more about lining their own pockets. Apple has zero interested in protecting the users. It makes it so only Apple has that data and no one else.
So first apple is getting bitched by adding a unique device id to their api's and now you want to bitch them because of removing it? (actually it's not removed, they just discourage the future use of it)
 
Folks, Apple aren't removing access to UUIDs, they're just deprecating them. All that "deprecation" means is that is that UUIDs are not recommended for use in new applications.

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.

Not to mention the second hand market.
 
This is a great idea! Maybe now all the impatient people here who are not developers, will learn to wait for the release like the rest of us.

I think you completely misunderstood what this article is talking about. They're not removing the ability for developers to authorize specific UDIDs to install beta OS's (because they kinda need that ability for legitimate purposes). What they're doing is removing the ability to (or at least making it against the rules to) use the UDID as a means for apps to keep track of a specific user. Instead the developer has to create their owns means of user identification (such as a username/password or something along those lines).
 
Not exactly a surprise it was also heard about the ios6 the other day. I'm vawncast of it but I think developers will like it. Thefact that they are doing it early well that's good.
 
Folks, Apple aren't removing access to UUIDs, they're just deprecating them. All that "deprecation" means is that is that UUIDs are not recommended for use in new applications.

Deprecation is the first step towards removal though. I'd be very surprised if it wasn't marked "removed" in iOS 6. That gives devs a year or so to move away before problems start.
 
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.
While true...

issue one surely isn't a big show stopper, most people only have one phone and while it won't link to their usage on other devices, you can still build up enough of a profile.

Issue two as you mentioned is a non event now and for the foreseeable future.

Issue three for most users is only an issue every 24 months (fairly standard phone contract length) and I imagine it wouldn't take long to build up a decent profile again.

There is the second hand market which could skew things a bit but I doubt too many devices see a large number of users and I'm sure developers could make data time dependant so that the older data has less influence on any ads etc which would also reflect peoples taste or interests evolving over time anyway. If so you'd build up profiles generally based on the new user anyway as old data is made less relevant.

There is a big issue for any service that uses the UID for automated logins or whatever however and not just ad tracking.

I do totally agree though that there are better ways and I'm glad to see the UID being depreciated for development purposes. That said, while it is available it is a pretty good way to track users usage without requiring them to log into other services. Not perfect, but far from bad as long as you assume that the device will at some point see a new user, evem if its only after two years of use.
 
... That said, while it is available it is a pretty good way to track users usage without requiring them to log into other ...
Exactly, and I don't want to be tracked unless I give specific permission (by logging in to something). Why advertisers or other apps developers think they have the right to covertly follow me around is beyond me.
 
No but UDID is good for selling ads as it collect better metrics off a single user that can be linked together. For individuals apps not so much but for say any that sell ads a lot more info or it can be used to help track if a user is using different apps from same dev. Yeah having an App generated an ID key is easy but having that key shared between apps not so much, big time in Apple's wall garden approach. UDID got around that issue as they did not need to share and access data from each App.

As I pointed out UDID is great for things like Google Ad words for tracking user data. Apple blocking it means Apple gets all that data Google gets none. I know Google ads and Apple ads are not the only 2 companies that sell ads but guess who gets better user metrics to sell ads with due to this blocking. You guess it Apple. You have failed to address that argument.

So you're saying you're all for being profiled by ad networks without your consent!? Really!? This is exactly why Apple wants this abuse stopped. It's nonconsensual use of my information and an invasion of my privacy.

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.


As for Openfeint. I think you can created an account but it defaults creating one based on the UDID.

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!


You have not coded much have you. A lot of the code can be transferred between devices and not a large amount of things have to be changed. Losing the UDID means you have to now changed even more things in the code and their might not be an equivalent other platforms. That is where you have to do the extra coding. Modern IDE make the basic stuff really easy to do. It the fine tuning and testing that takes a little longer but most of the stuff is able to be transferred straight over.

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.
 
Last edited:
The "old way" was a guaranteed unique identifier for a device. The "new way" is a identifier that may or may not be unique, local to that specific install of the app. If the user deletes and reinstalls the app, you get a new identifier.

The new iCloud APIs can help link data to specific users, but without the UDID there is no way to link data to a specific device. A solution to this would be for Apple to expose a hash of the UDID and the app's bundle ID. This would give developers an adequate replacement without stepping on privacy.
 
Would something like this work.

Hi, I don't know much about how targeted Ads actually work but if I was building a system which would track users across Apps the first thing to come to mind would be this.

* Each App generates a random ID of some kind.
* Each time an App is launched and there is an internet connection it sends my database that ID.
* The database stores the IP address of where that ID came from.

I know the IP address will change pretty often, but there must be some level of stability in the IP address so that if a user closes one App and opens another one within, say 30 minutes, the address should be the same.

I don't think it would be that difficult to then scan through this database and calculate the most likely correlation between the different App IDs, and therefore which users are running those Apps.

If this did work you could also track the user when they went into mobile safari and looked at a page you were also tracking.

Anyone with actual knowledge of such systems who can say if that would work?
 
[...]

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.

Couldn't agree more. But you forgot to tell him to Get Off Your Lawn :)


I think he means that, maybe the Android API does provide access to the UDID, so all the cross-platform middleware solutions that are so popular these days (Appcelerator, etc.) likely have been exposing this functionality as one of their "least common denominator features", and they no longer can, either 'breaking' those frameworks (which is not the case since the phasing out doesn't seem to be immediate?) or forcing him to hand-code a fix into the Objective-C code that is spit out.

In any case, I believe 'write once, run everywhere' is BS in resource constrained devices like mobile. Each platform has been built on different design trade-offs and has different philosophies behind the design and implementation of its APIs. If you can get away with a cross-platform IDE, you'd better be making a web app.
 
So you're saying you're all for being profiled by ad networks without your consent!? Really!? This is exactly why Apple wants this abuse stopped. It's nonconsensual use of my information and an invasion of my privacy.

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.
You still are failing to get it.

Apple runs its own Ad company. iAds.

Apple is able to and sure as hell does collect all those user metrics that other companies collect using UDID. Now Apple does not need to use the UDID to link it all up. They have easier access to other ID that in someways are even worse than UDID because it links even more of your life. They get all the same data that the UDID were giving others plus they can add in the other devices which is not something everyone else can do. If you think Apple is not doing that then you are truly deluding yourself.

Apple is changing the rules to make it even more difficult for competitors to gather useful data. They say they were collecting very useful data with the UDID so they locked it out making it even harder.
 
You still are failing to get it.

Apple runs its own Ad company. iAds.

Apple is able to and sure as hell does collect all those user metrics that other companies collect using UDID. Now Apple does not need to use the UDID to link it all up. They have easier access to other ID that in someways are even worse than UDID because it links even more of your life. They get all the same data that the UDID were giving others plus they can add in the other devices which is not something everyone else can do. If you think Apple is not doing that then you are truly deluding yourself.
I'm sure I'm deluded too, but I trust Apple and iAds with my data, but not all these other targeted Ad companies.

Maybe I've just been brainwashed or something nasty, but I see Apple as a pretty nice company whose main business is not selling advertising, who have created a positive image themselves and I think want to retain and improve on that image over time.

Other Ad companies exist purely for selling advertising, and don't really have any consumer image that they want to keep sweet. I imagine that their main concern will always be to win advertising contracts first, and secondly to convince developers to use their service.

But because both the advertisers and developers are likely to be impressed by how well the ads are targeted then I don't see them being shamed if it turns out they are invading our privacy.

Apple on the other hand do have a lot to lose, and that is why I trust them. Deluded or not.
 
This doesn't matter, our apps use device fingerprinting to identify unique devices within a household.

Oh wait, we're not evil. We don't need any of this information. We don't even request users to create an account to use our apps. Heck, all our apps are free - and ad-free.

We're just in it for the fun of using modern technology and enjoying it while we're at it. There are other ways of monetizing a product than having the user be the product, or having the user pay.
 
You still are failing to get it.

Apple runs its own Ad company. iAds.

Apple is able to and sure as hell does collect all those user metrics that other companies collect using UDID. Now Apple does not need to use the UDID to link it all up. They have easier access to other ID that in someways are even worse than UDID because it links even more of your life. They get all the same data that the UDID were giving others plus they can add in the other devices which is not something everyone else can do. If you think Apple is not doing that then you are truly deluding yourself.

Apple is changing the rules to make it even more difficult for competitors to gather useful data. They say they were collecting very useful data with the UDID so they locked it out making it even harder.

:D You are amazing.

How is this bad for consumers? Or are you just upset that those poor, little ad companies that are just struggling to make a buck can no longer profile us as deeply and sell our information to the highest bidder?
 
hmmm wonder what prompted this change

Lawsuits over the location data issue most likely.

Even though that data never went anywhere it did stir up talk about other things like the UDID. This is likely a preemptive move to shut down any suits before they can start

----------

All app developers will have to create their own UDIDs for each app, meaning that it will not be a global value that other apps can access. UDIDs will be unique to each and every instance of an app, unless the developer has the ability to tie it into a user database, whereby, when you log in to an app, it can pull a previously generated UDID and save it locally - but just for that app.

What this really prevents, is the ability for a 3rd party to build a profile of you, by mining data from disparate sources based on your device's UDID.

Exactly. My game can drop a cookie into your phone to track you in my system. Perhaps even linked to a user name. Like I know that game center user mjtomlih is player 12345 in my game. Even if you wipe your phone when you log into game center my system can check the player number system and drop thar cookie on your new setup as if you never left.

But I can't turn my info over to someone that is gathering up info about apps and see that you also play tiny tower, angry birds, have the Netflix app etc

----------

Folks, Apple aren't removing access to UUIDs, they're just deprecating them. All that "deprecation" means is that is that UUIDs are not recommended for use in new applications.

You can bet that any app that supports iOS 5 won't be approved if it is still using UDID.

And it is likely that Apple will move within the next year to force all apps to use iOS 4 if not 5.
 
:D You are amazing.

How is this bad for consumers? Or are you just upset that those poor, little ad companies that are just struggling to make a buck can no longer profile us as deeply and sell our information to the highest bidder?

So you want it so only Apple can offer ads and use there much larger resources to dig the deepest into your life? It also means fewer free apps.

I think it is funny so many of you put blind trust in Apple. I trust Apple a hell of a lot less than I trust Google and I do not trust Google that much.
 
So you want it so only Apple can offer ads and use there much larger resources to dig the deepest into your life? It also means fewer free apps.

The part that you are ignoring is that Apple has our information. iAd has nothing to do with it. We choose to give Apple our information in exchange for their services. Explicitly. Apple has a published privacy policy that I am aware of. What's the privacy policy of the random free app that you downloaded a month ago?

The question isn't Apple OR some other ad company. The question is whether you want just Apple or Apple AND random ad companies tracking you.

I think it is funny so many of you put blind trust in Apple. I trust Apple a hell of a lot less than I trust Google and I do not trust Google that much.

Which speaks to your bias and not any real precedent.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.