1

When we do internal test release in iTunes Connect, user install app with Testflight. So my question is:

Does the vendorID( NSUUID *identifierForVendor) will change?

Base on apple's doc, normal update from Appstore should not change vendorID, but also mention that Ad-Hoc distribute may cause something else.

For more explanation, my use case is: device install the current live version app, then use internal test in iTunes Connect to install the test version which has same bundle ID. In that case, the live app has been override and I notice the vendor ID may changed.

Aoke Li
  • 499
  • 3
  • 16
  • You write it MAY change, but does it really change? Maybe you changed some code after testing phase and thats why it just changed – Alex Cio Feb 04 '15 at 09:19
  • I can guarantee that no code changes involved. Some other test make sure about that. Base on my current test result: at least, override live version App by test version app, will change VendorID. – Aoke Li Feb 04 '15 at 11:01

2 Answers2

5

Like what list in https://stackoverflow.com/a/16680879/2450847 (thanks aramusss provided), normal App update(at least from Appstore), do NOT change VendorID.

Test result(thanks a lot for @invertedfjord's add on): For the app with same bundle ID.

Test builds, including Xcode direct build, testFilght internal test build, testFlight external build, all have the same vendor ID and will not be changed during any version update or overwrite install.

Appstore builds have same vendor ID and will not be changed for any version update.

Test builds and Appstore builds have different vendor IDs. In that case, any update or overwrite install between test build and Appstore build will change the Vendor ID.

Explanation:

VendorID should be provided by Appstore and if not, generated from bundleID. Test build of the App(even testFlight version) for sure does not directly purchased from Appstore. As result VendorID will be different compare with Appstore version.

chrisamanse
  • 4,289
  • 1
  • 25
  • 32
Aoke Li
  • 499
  • 3
  • 16
  • 3
    My testing has been a little different. There are two test cases. 1. Install from Xcode and then updating from external or internal testflight user does NOT change the vendor Id. 2. Downloading production client from store and then updating via testflight external or internal DOES change the vendor Id – invertedfjord Aug 09 '16 at 19:03
  • @invertedfjord Thx for your input. From that, combine with my early test, we know the local Xcode build and TestFlight build have same vendor ID. And Appstore build has different venderID. I will update my answer. – Aoke Li Aug 11 '16 at 08:43
1

If you are testing it with TestFlight internally in iTunes Connect and not using testflightapp.com, it should not change. Must mention, however, that Apple is hiding this Vendor ID (you need to search a bit for it), which can mean Apple does not want you to use it.

aramusss
  • 2,391
  • 20
  • 30
  • I just edit my question. As the use case, install the live version, then test version over ride it. Does this case will change the vendor ID? And if I understand correctly, u mean test App version update won't change vendorID. – Aoke Li Feb 04 '15 at 09:08
  • As far as I know, your VendorID should not change for live apps; I am sorry I can't answer your question 100% for sure. Maybe this [link](http://stackoverflow.com/questions/16520231/under-what-conditions-is-apples-advertisingidentifier-reset) helps you. – aramusss Feb 04 '15 at 09:17
  • Thanks any way. At least, between different test version VendorID should not changed – Aoke Li Feb 04 '15 at 11:08