更新应用程序时,identifierForVendor是否会更改?

19

identifierForVendor不应更改,除非设备上所有该厂商的应用程序都被删除。如果我只有一个应用程序进行更新,identifierForVendor会发生什么变化?换句话说,应用程序升级是否与卸载和安装相同(至少在某种意义上)?

我问这个问题的原因是,如果我从App Store安装当前版本的应用程序,然后通过XCode“归档”新版本并通过iTunes安装它,此时identifierForVendor会改变。我不知道这是否是一个特殊情况,或者在“正常”的应用程序更新/升级中是否也是如此。


你用于iTunes版本和Xcode版本的标识符是否相同?如果两者相同,则identifierForVendor不会更改,否则它将在设备上创建2个单独的应用程序。 - Rohan
你尝试了什么解决方案?对于特定产品的应用程序,处理用户订阅很困难。在VendorID的位置上,我应该使用什么(我的应用程序是针对特定产品的)? - Ravi Sharma
我遇到了这个问题:https://dev59.com/4l0a5IYBdhLWcg3wS268 - Esqarrouth
2个回答

2

简短回答 - 在所描述的情况下,identifierForVendor将会是不同的。

但对于从AppStore下载的用户来说,如果版本为6.1及以上,该标识符将是相同的。6.0.x存在已知问题。

我通过与苹果支持和提交我的应用程序更新到AppStore进行验证。


我们计划发布我们的一个应用程序的更新,你知道有什么方法可以使从iTunes安装时的identifierForVendor相同吗?我们需要它是相同的,因为我们必须测试新版本的应用程序如何处理旧版本的数据(使用此值作为密钥加密数据)。 - Juan Campa

1
在文档中所述,从应用商店更新应用程序时不应更改。如果您正在更新已安装的应用程序,则使用Xcode或基于Ad Hoc配置文件或任何配置文件的IPA进行更新将获得不同的值。您需要使其保持一致,Adhoc到adhoc,dev到dev,app store到app store。
再次强调,从应用商店更新不应更改。但是,请注意此事项。在2015年5月至7月期间发生了影响identifierForVendor计算的错误。如果您在任何加密方案中依赖此值,则有可能无法解密它。苹果公司声称已纠正该问题,并且现在推送另一个更新应恢复原始值,就像在关键时期之前一样。
在任何情况下,您都应优雅地处理identifierForValue在更新期间更改的情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接