Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Reason077

macrumors 68040
Aug 14, 2007
3,605
3,644
If you stored the ID in a group keychain instead of the App specific Keychain or NSUserDefaults it would have the ability to track the User across apps right?

Trade off being you'd have a keychain item labeled rather honestly against the ad network or shared tracking.

Apps are only permitted to share data via group keychains if they have the same bundle seed ID.

This means that a developer can share data between their own apps, but it's not really possible for Ad network code to share data across unrelated apps.
 

doelcm82

macrumors 68040
Feb 11, 2012
3,749
2,769
Florida, USA
I think one of the main reasons developers are complaining about this is because although Apple stated that UDID was deprecated and devs should move away from it, they didn't state when they would start rejecting apps that used UDID.

Granted devs should / could probably have started moving away as soon as that became public knowledge, but it would have been nice if Apple had given a heads up that as of date X, apps using UDID will be rejected.

Unless I'm blind, the app store review guidelines currently do not state anything along the lines of "Apps using / storing a devices UDID will be rejected", which they probably should. I'd be curious to know what guideline the apps are being rejected under. Possibly one about privacy.

Is Apple allowing other new apps that use deprecated APIs through? When they deprecate APIs, do they normally give a date after which the no longer acceptable APIs will be cause for rejection?

I'm guessing that there is an automated process that scans your code for calls to deprecated APIs and other red flags. They are probably not treating this differently.

And it doesn't mean your app can't be in the App Store. You just have to address the problem (use of deprecated APIs, for example), and resubmit the app.

Apple is doing this to address privacy concerns. In other words, to avoid lawsuits for violating privacy concerns. Do you want to stand with Apple on the receiving end of such a lawsuit?
 

GenericOne

macrumors newbie
Mar 26, 2012
1
0
The developers who chose to use the UDID are making apps and I think it's the wrong thing to do in the first place because it won't survive device change/upgrade.

Maybe sometimes NOT surviving the device change is what the app wants? ;)
For example, our app uses a single username/password, but it can be installed on multiple devices and you can share data between them, so we need to know which of the devices you're using when starting the app, because you may want to have some data on a device and not on another one.
Also, the method indicated by Apple (calling the generate unique ID API) will not work for us, because it will change if someone uninstalls and reinstalls the application.

It's all a matter of what you have to do, really, so it isn't "the wrong thing to do" every single time.
Well, it wasn't. Now it is. :D
 

dexx0008

macrumors member
Sep 28, 2007
71
0
Wirelessly posted

macintel4me said:
1) Why this really is NEW...
Apple has had deprecated API's for years in the SDK's, but it is new, unprecedented, and "all of a sudden" that apps are being rejected for using those API's. Deprecated means "going away in the future". If Apple wanted developers to stop using their API, then they could simply not offer that API.

2) Why UDID is useful and not evil...
Many games allows the user to purchase in-app upgrades with virtual currency (i.e. coins). If the UDID is allowed to be used by the developer, the those upgrades can survive the app being uninstalled and reinstalled. If the UDID is not used, then user will lose all their purchased upgrades when they uninstall the app and reinstall.

3) Why Game Center is not an answer for today...
Only about 30-40% of iOS users use Game Center. Forcing users to use Game Center is a worse user experience. Also, at that point, why is profiling a user so much worse than tracking a device? If anything, I would think it would be the opposite.

As a developer and gamer i object to udid being used.

Many games lose settings anyway, when i upgrade to a new device, have it replaced under applecare.

As a gamer i like gamecenter.

A game that does things right is bullet time. (kiloo games)

Well balanced IAP. Use of gamecenter and backup system built into game based off gamecenter login. I can backup and restore data at anytime in any device.

It's quick and easy to backup and restore my data on any device. I never lose game data or purchases through phone upgrades or new purchases such as ipad. I can even delete app, re-install an restore all my game data.

Develop smarter, not the easy way. There are always new ways to handle things.

I don't want udid exposed for those that abuse it just for the few developers who don't.

Edit. I do not work for kiloo, just a well done setup of gamecenter and backups.
 

invalidname

macrumors member
May 1, 2003
64
9
Grand Rapids, MI
The problem with random numbers is you always have to worry about a collision happen because no matter how big of a number you use there is a chance of it happening. Also remember computers can only do sodo random numbers. They can not do true random.

Not when the numbers are big enough, you don't. The size of the UUID is sufficiently large that everyone on Earth could have 600 million of them, and there'd only be a 50% chance of a duplication. More data in the Wikipedia entry for UUID. And even if duplicates were realistically possible, it wouldn't be a problem unless they were used for the same purpose.

The UUID is an industry standard. The only people who have a problem with it are the ones who don't know what they're talking about.
 

klamse25

macrumors 6502a
Oct 25, 2009
610
6
AppTrailers

So will things like AppTrailers let you make another account now if you were recently banned?
 

johnqh

macrumors regular
Mar 31, 2008
233
0
Isn't user registration provide more information than UDID?

An UDID, by itself, means nothing. User registration always requires email (used in case the user forgets his password).

There is no way for a developer to contact a particular user by UDID alone outside the app. However, emails associated with an app is worth something.
 

Spiritgreywolf

macrumors member
Nov 12, 2008
42
0
Stolen, anyone?

Too bad APPLE THEMSELVES won't institute a program by which they blacklist iDevices that are stolen, leaving whoever steals a phone is required to jailbreak it and never use iTunes.

When I say stolen I mean stolen - such as I have a bona-fide police report from my local precinct with the serial number, etc., on file.

There is no reason they cannot do it - they simply choose not to do it.

There was a recent article on how phone companies could do the same thing in the US. They don't. I figure when people get roughed up (or someone's daughter or son get mauled for their piece of iCandy), that someone will eventually get mad enough to kneecap one of the execs in these companies that refuse to help shut down the black markets.
 

invalidname

macrumors member
May 1, 2003
64
9
Grand Rapids, MI
Isn't user registration provide more information than UDID?

An UDID, by itself, means nothing. User registration always requires email (used in case the user forgets his password).

There is no way for a developer to contact a particular user by UDID alone outside the app. However, emails associated with an app is worth something.

While that's true, the concern is more that the UDID can be used as glue to connect the dots between a user's activities in multiple apps. An ad network or metrics library could tell that one particular device was using multiple apps that implement that library. If one of those apps involved registration, then all those apps (and servers they phone home to) could, in theory, uniquely identify a user and their activities.

We don't know, however, if this is something that's already happening, or if this is more a theoretical concern.

We also don't know if iAd will still be able to access the UDID, which would effectively give it a competitive advantage over third-party ad networks.

Also, it's technically possible for multiple apps to share a unique ID other than the UDID, like an on-the-fly UUID, but there are big caveats. One app could call another via a URL scheme, passing the UUID, but the user would see the app switch animation. App A can also share data with app B via the keychain, but only if they're both signed with the same credentials and share a bundle seed ID… this is only practical for apps from a single developer (and, IIRC, the apps would lose the ability to use In-App Purchase and Push Notifications, which require unique bundle identifiers)

--invalidname
 

Rodimus Prime

macrumors G4
Oct 9, 2006
10,136
4
Not when the numbers are big enough, you don't. The size of the UUID is sufficiently large that everyone on Earth could have 600 million of them, and there'd only be a 50% chance of a duplication. More data in the Wikipedia entry for UUID. And even if duplicates were realistically possible, it wouldn't be a problem unless they were used for the same purpose.

The UUID is an industry standard. The only people who have a problem with it are the ones who don't know what they're talking about.

Problem is that is that is only in theory and only works if your numbers are truly random. Computers can not do true random. They can only do pseudo random at best.

It is how the number is generated that creates an issue. It is not hard to cause a program to kick out the exact same random number over and over again. No matter how big in size of random numbers you choose to use the major flaw weakness in random numbers is the pseudo random part.

----------

While that's true, the concern is more that the UDID can be used as glue to connect the dots between a user's activities in multiple apps. An ad network or metrics library could tell that one particular device was using multiple apps that implement that library. If one of those apps involved registration, then all those apps (and servers they phone home to) could, in theory, uniquely identify a user and their activities.

Lets get to the heart of the matter. This is not about so called user privacy. It is more about Apple trying to limit competitors to its own iAd network. Apple sure as hell is collecting and gathering that info to makes its iAds much more targeted and limit others from gathering that critical information.
 

Nostromo

macrumors 65816
Dec 26, 2009
1,358
2
Deep Space
Thumbs up for this news.

People who want their scores in games recorded can always sign up for an account.

Opt-In is much better than Opt-Out in privacy matters. You can't expect people to constantly opt out of having their data recorded and identified.
 

dexx0008

macrumors member
Sep 28, 2007
71
0
Problem is that is that is only in theory and only works if your numbers are truly random. Computers can not do true random. They can only do pseudo random at best.

It is how the number is generated that creates an issue. It is not hard to cause a program to kick out the exact same random number over and over again. No matter how big in size of random numbers you choose to use the major flaw weakness in random numbers is the pseudo random

agree.
----------
Lets get to the heart of the matter. This is not about so called user privacy. It is more about Apple trying to limit competitors to its own iAd network. Apple sure as hell is collecting and gathering that info to makes its iAds much more targeted and limit others from gathering that critical information.

That is probably part of it but as a user I don't want what i do being tracked per device so easily. The fact of the matter is UDID is abused or used incorrectly. I'd rather see it go away than remain a risk. Leaving it around for a few developers who use it correctly vs those who blatantly use it without customer knowledge is not a sacrifice i want to make.

My biggest issue is developers using UDID to limit installs on a particular device. Requiring the same device to keep data around because it was tied to UDID sucks. There are better options. It shouldn't matter what device, ipad, iphone I am on as long as I paid for it legitimately with my itunes account. It is particularly frustrating when replacing faulty devices.

Of course there could be much more behind these decisions to tighten things down related to certain privacy investigations being conducted.
 

invalidname

macrumors member
May 1, 2003
64
9
Grand Rapids, MI
Problem is that is that is only in theory and only works if your numbers are truly random. Computers can not do true random. They can only do pseudo random at best.

It is how the number is generated that creates an issue. It is not hard to cause a program to kick out the exact same random number over and over again. No matter how big in size of random numbers you choose to use the major flaw weakness in random numbers is the pseudo random part.

Like I said, the UUID an industry standard. It's not something that Apple, or I, or anyone else just pulled out of their butts last week. The UUID passed a rigorous standards review process to be published as RFC 4122, ISO 11578:1996, et. al., and has been in widespread use for years, if not decades. If you really think that nobody else already challenged the randomness and uniqueness of UDIDs and was satisfied (or at least outvoted), and thus if you really think you're smarter than the entire computer science profession, then I can only defer to your obvious genius.
 

gnasher729

Suspended
Nov 25, 2005
17,980
5,565
Exactly. We saw that happen with Skies of Glory -a fantastic WWII fighter game. Change your device, lose your ranking/scores.

Buy a used device from a master player - inherit their high scores :D

UDID (Unique Device IDentifier) = works really well for ad networks that want to figure out things about you, doesn't work well at all for legitimate purposes.

UUID = Universally Unique IDentifier = works well for legitimate purposes, but not at all for ad networks.


A login system that I mentioned that authenticates users and remembers them by UDID has completely to do with my need to access or generate a UDID.

Please read up on it here (scroll down a little): http://www.tuaw.com/2011/08/19/ios-5-deprecates-udid-as-identifier-for-developers-but-its-not/ and then read about it in Apple's documentation. The solution isn't a real UDID clearly, or even formatted the same, but it is a working solution PER APP. The random UDID is different every time you generate it.

From the article: "So why isn't losing access to the UDID a big deal, at all? Any developer can always roll their own unique identifier. Apple provides a way to randomly generate one, so you never really had to use the UDID."

You seem to be confusing UDID and UUID. They are very different things. UDID = an ID identifying a device. You can't generate a UDID. It's built into the device and can never, ever be changed.


Well it is pretty clear look at the up and down votes on this thread. Point out a legit use for UID or a reason why this was bad huge amounts of negative votes. Claim it is great huge amount of up votes. The blind support is pretty scary and covers a lot about how little clue many people here really have.

I guess the UID that you mention is either a UDID or a UUID, whatever fits your argumentative purposes better? So what legitimate use of UDID (which Apple wants to ban, and not UUID which Apple recommends to use instead) are you thinking of?
 
Last edited:

0dev

macrumors 68040
Dec 22, 2009
3,947
24
127.0.0.1
Come to think of it, I think all this would be solved if Apple adopted a permissions system like Android and WP7. That is, tell the user what permissions an app wants before it's installed. The tech savvy ones like us lot can easily weed out the dodgy apps then.
 

astrorider

macrumors 6502a
Sep 25, 2008
591
126
Why doesn't Apple just provide a means to generate an application specific UDID, that would always be the same for a given device and application? This would still gives developer's who need to ID a device but not be able to share it across apps. Instead, as I understand it the method they suggest changes with app uninstall/reinstall, making it clearly inferior to UDID for this purpose.
 

visor

macrumors 6502
May 13, 2003
341
0
in bed
Get off line

Arn,

You mention a "legitimate" use of UDID several times, the keeping of anonymous high scores for unregistered users. But you don't mention the problem with UDID, and that's the fact that, no matter the "legitimate" use I always stand a risk of a developer who Apple has let into the store snatching my UDID and using it for possible privacy invasiveness.

I buy and play some games on my iOS devices. I never register with Game Center. I never register with any games that have asked for personal information before. I realize the trade-off there is that I don't get to track my high scores against other players. I'm OK with that.

If I want to track you using my product, I will. There is nothing you can do about it.
 

Earendil

macrumors 68000
Oct 27, 2003
1,567
25
Washington
I mounted a reasonable defense a few days ago for the iOS developers. Sadly, around the 4th paragraph Safari on my iPad crashed. I didn't have the heart or finger strength to do another rant via iPad. Fortunetally, someone smarter has done a better job than I, so I'll link to their article. Fair warning, MacRumors forum goers are called out in it ;)

App Rejections Are a Lousy Way to Communicate Policy Changes

I'll add a few points that his view doesn't cover.
  • Many iOS developers are single person operations.
  • iOS developers probably aren't sitting around twiddling their thumbs looking for something to do. They have to prioritize.
  • What happens to an iOS developer that started on the platform 6 months ago and missed the "announcement" ?

To lay blanket statements across the entire community that pegs them as "ignorant" or "malicious" is terrible. Fine to be critical and questioning if you want to learn what the developer world is like. But if you don't know anything, watch you mouth. Please :)
 

marksman

macrumors 603
Jun 4, 2007
5,764
5
Why does Apple's developer relations need to suck so bad? Many of even small developers pay 10's of thousands of dollars per year or more to be treated like this?

How about Apple just be upfront with developers about when UDID was to no longer be available so developers knew when the changeover would occur and could plan their business accordingly? There are deprecated functions in the iOS API that have been deprecated since iOS 2/3 but still continue to work. How was a developer to know they needed to prioritize UDID replacement above other business plans without any perspective on when this change might occur?

How about Apple tell developers how the changeover would occur? Who knew they were going to start rejecting app updates for it? They can't work with developers for a time, offering additional warnings of the impending changeover? Upon hearing UDID was deprecated I assumed like other deprecated functions we'd start getting warnings in Xcode, or be forced by Xcode to remove the offending code. Nope, Apple skips straight to rejecting app updates?

And seriously, Apple gave big developers a heads up about this? Why not give all developers a heads up?



I think it would be irresponsible for any app developer to not treat customer privacy issues with the utmost urgency. All app developers should have moved as swiftly as possible to replace something that is viewed as a major privacy problem for end users. Any developer didn't is negligent in knowing their business and how to manage it.

This is not any old deprecated function. It was clear what the issue was and that it was serious. Any developer who did not take that information to mean they should act as quickly as possible did a very poor job.

It clearly sends a message to the end user that the developer does not take privacy issues seriously. There are no legitimate excuses. People are right when they peg it on laziness. It was a lazy thing to use to begin with and lazy and negligent not to change it as quickly as possible.
 

Earendil

macrumors 68000
Oct 27, 2003
1,567
25
Washington
This is not any old deprecated function. It was clear what the issue was and that it was serious. Any developer who did not take that information to mean they should act as quickly as possible did a very poor job.

Wow. You don't understand this at all, do you? There is nothing inherently bad about UDID, what matters is how a developer uses it. Apple provided the means to use it, documented how to use it. After a while, Apple decided that they no longer trust developers to use it wisely. However any developer that decided to keep using was risking no privacy on their customers part. There is no inherent security issue here.

It clearly sends a message to the end user that the developer does not take privacy issues seriously. There are no legitimate excuses. People are right when they peg it on laziness. It was a lazy thing to use to begin with and lazy and negligent not to change it as quickly as possible.

I'm smelling lazy and ignorant, but it isn't the developers. You just don't understand the issue at all. Go read up on the issue before you start putting other human beings down.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.