iTunes Connect、内部测试、供应商 ID 更改

iTunes Connect, internal test, vendor ID change

当我们在 iTunes Connect 中进行内部测试发布时,用户使用 Testflight 安装应用程序。所以我的问题是:

vendorID( NSUUID *identifierForVendor) 会改变吗?

根据apple的文档,Appstore的正常更新应该不会改变vendorID,但也提到Ad-Hoc distribute可能会导致其他问题。

更多解释,我的用例是:设备安装当前的实时版本应用程序,然后在 iTunes Connect 中使用内部测试来安装具有相同包 ID 的测试版本。在那种情况下,实时应用程序已被覆盖,我注意到供应商 ID 可能已更改。

如果您在 iTunes Connect 内部使用 TestFlight 测试它而不是使用 testflightapp.com,它应该不会改变。 但是,必须提到,Apple 隐藏了这个供应商 ID(您需要稍微搜索一下),这可能意味着 Apple 不希望您使用它。

就像 中的列表一样(感谢 aramusss 提供),正常的应用程序更新(至少来自 Appstore),不要 更改 VendorID。

测试结果(非常感谢@invertedfjord的补充): 对于具有相同包 ID 的应用。

测试构建,包括Xcode直接构建、testFilght内部测试构建、testFlight外部构建,都具有相同的供应商ID并且在任何版本期间都不会改变更新或覆盖安装。

Appstore 版本具有相同的供应商 ID,并且不会更改任何版本更新。

测试版本和 Appstore 版本具有不同的供应商 ID。在这种情况下,测试版本和 Appstore 版本之间的任何更新或覆盖安装 都会更改 供应商 ID。

解释:

VendorID 应由 Appstore 提供,如果没有,则从 bundleID 生成。 App 的测试版本(甚至是 testFlight 版本)肯定不会直接从 Appstore 购买。因此,与 Appstore 版本相比,VendorID 会有所不同。