Does the 'identifierForVendor.uuidString' changes when app updates with TestFlight builds?

Hi All,


As per the Apple documentation:


"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 change 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."


Scenario:

1) One of my user has a TestFlight build v1.0.0(0) on his device.

2) He updated the build with v1.0.0(1) on the same device.

Here, this value 'UIDevice.current.identifierForVendor!.uuidString' got changed. This is so crucial to us to know because we have a logic on app update linked to this value. We assumed this value dont change when user updates the app from TestFlight/AppStore since both are built with AppStore distribution provisioning profile.

Note: User didnt deleted/uninstalled the app. He just updated the build from v1.0.0(0) to v1.0.0(1)


Please let me know your thoughts.

Replies

Hi, the value of "UIDevice.current.identifierForVendor!.uuidString" will always change if you update from a Testflight build to an Appstore build. I am not an expert on what Apple do with the binaries on their servers, but I believe the application is resigned by apple before it is promoted to an Appstore build. The value should not change if you upgrade from a Testflight build to another Testflight build. However, we are seeing rare cases where it looks as if that value changes when we upgrade from one Testflight version to another Testflight build. We are also getting reports that the value changes when users upgrade from one App store build to another App store build, but we have yet to validate this.


In your example above, are both 1.0.0(0) and 1.0.0(1) Testflight builds?

Hi,


We have the same issue. We are updating one testflight version (signed with App Store provisioning profile) with another and noticing that occasionally the idForVendor value is changed. Why is that?

Did you find out why it changed?