3

We're currently using identifierForVendor which was introduced with iOS6. Now iOS7 was released and i wonder if this identifier will stay the same for my apps after the update process.

If i recover my device with iOS7 then it will obviously change, since it will be a fresh start.

How about the update via iTunes / OTA?

Kilian Schefer
  • 579
  • 5
  • 18
  • Reading the official reference may help. – Desdenova Sep 20 '13 at 08:51
  • i've been reading it. it's supposed only to change when you uninstall the last app of the same vendor. however, i wonder if Apple eventually will change it with the iOS update... – Kilian Schefer Sep 20 '13 at 08:55
  • http://stackoverflow.com/questions/30510921/why-does-ios-get-a-new-identifierforvendor-when-app-updates i had this problem – Esqarrouth May 28 '15 at 15:31

4 Answers4

10

I've also tested this behaviour with a little app that would just display identifierForVendor and it stayed the same before/after the update from iOS6 to iOS7.

What's also important to know is that the identifierForVendor isn't related to the apple developer account, but to the bundle identifier of an app.

So if you have 2 developer accounts and you create 1 app on each of them, using a bundle identifier com.company.xxx, they'll have the same identifierForVendor for having com.company. in common.

It will change based on the conditions mentioned in the UIDevice Class Reference.

The advertisingIdentifier may indeed change after the update. Didn't test that though.

Kilian Schefer
  • 579
  • 5
  • 18
  • What kind of Provisioning Profile did you use for testing? Development or Distribution? Enterprise or App Store? How many components did your BundleID have? – Andreas Ley Sep 25 '13 at 09:22
  • 1
    For the test i've been using a development profile. As the `identifierForVendor` is not dependant on the account type (appstore or enterprise) it shouldn't influence on it. The BundleID had 3 components like `com.company.myapp` – Kilian Schefer Sep 25 '13 at 13:04
  • Something definitely DOES influence it, as my tests clearly have shown a different `identifierForVendor` after the upgrade to iOS 7 (on multiple devices). Looks like I'll have to do more tests.. – Andreas Ley Sep 25 '13 at 15:22
  • Good explanation about identifierForVendor. +1 for you. :) – Mani Mar 04 '14 at 12:37
9

I've done a few tests (see Under what conditions is Apple's 'advertisingIdentifier' reset?), and it seems that yes, identifierForVendor indeed changes when updating to iOS 7.

At least that's what happened on an iPhone 4S and iPad mini I've updated (the former one with iTunes, the iPad over the air).

However, I don't know if that is the case for all users/devices and apps/provisioning profiles.


Update

Apple writes this, which might explain why the identifier changed for me but didn't for Kilian:

Comparing [[[UIDevice currentDevice] identifierForVendor] UUIDString] on multiple Enterprise applications or applications installed via Xcode (not the App Store), where the bundleIDs differ only in the last component, will result in identical strings. If the bundleID has 3 or less components, this behavior is unchanged from iOS 6.

This is due to a change in behavior between iOS 6 and iOS 7 where -[UIDevice identifierForVendor] takes into account the bundleID if there is no Vendor ID. Vendor ID is only assigned to apps on the App Store.

Community
  • 1
  • 1
Andreas Ley
  • 9,109
  • 1
  • 47
  • 57
4

The identifierforvendor also change when you delete the app and reinstall it!

Discussion The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them. The value can also when installing test builds using Xcode or when installing an app on a device using ad-hoc distribution. Therefore, if your app stores the value of this property anywhere, you should gracefully handle situations where the identifier changes.

FYI!

Sosily
  • 706
  • 1
  • 10
  • 26
  • This doesn't seem to be true, at least not anymore. Deleted all the apps from my account from device and reinstalled; got same UUID. – shim Oct 31 '16 at 21:06
0

YES, the Vendor ID will change! (at least if you are updating from iOS6 to iOS7)

great idea of apple to take out the mac-address... and this is even greater... who ever is responsible for this should get the medal of honor

Tom
  • 213
  • 3
  • 10