identifierForVendor changes after update

Lately I'm seeing that the identifierForVendor changes after an app update.

It has nothing to do with iOS8 or iOS9, I'm seeing the same behaviour on both versions.


We are distributing our apps with an enterprise certificate and it was working before, not sure what excatly changed the behaviour,

is that expected to be like that?

It seems that we had similar issue - after app update our users were logged out because of different value in identifierForVendor.


In case it could help you, I can post identifierForVendor from our user before and after app update.

Did you find a solution for the problem? I'm still seeing it and can't find a way to solve it.

New findings after some testing:


a) The IDFV changes between updates with enterprise app, distributed OTA (crashlytics).


b) The IDFV remains the same between updates (manual install) of the same enterprise app when instaled via xcode devices menu.


Looking carefully at the documentation:


"If the app was not installed from the app store (such as enterprise apps and apps still in development), then a vendor identifier is calculated based on the app’s bundle ID."

...

"The value can also change when installing test builds using Xcode or when installing an app on a device using ad-hoc distribution."


So, to my understanding, the first quote might mean that the IDFV remains the same if the app is installed mannually (b) and the second quote means that the IDFV changes with OTA installs (a).


So, no bug? Intended behavior? Can someone from Apple confirm (or not) this?


😐 😕

We noticed a similar behavior. When 2 apps with similar bundleID are installed through MDM, their IDFV do not remain same. However, if they are installed through Apple Configurator, they remain the same.


I have been trying to install two apps with bundle identifiers which only differ in the last component, which means that the identifierForVendor should remain the same as per the official documentation (Reference). But , the identifierForVendor is different for both the enterprise apps when they are installed from MDM . However , the identifierForVendor remains the same when the two enterprise apps are installed from Apple Configurator.

Code snippet:

vendorID.text = UIDevice.current.identifierForVendor?.uuidString

and the bundle identifiers are

App 1 : com.mdm.inhouse.urlscheme

App 2 : com.mdm.inhouse.mdmuuid

Can anyone explain this behavior?


Check this: https://forums.developer.apple.com/thread/69621

identifierForVendor changes after update
 
 
Q