【问题标题】:Can the identifierForVendor change when updating an App?更新应用程序时,identifierForVendor 可以更改吗?
【发布时间】:2013-01-29 05:12:48
【问题描述】:

identifierForVendor 不应更改,除非供应商的所有应用程序都已从设备中删除。如果我有一个更新的应用程序会发生什么。 identifierForVendor 可以改变吗?提出这个问题的另一种方式是:应用升级是否与卸载和安装相同(至少在某种意义上)?

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

【问题讨论】:

  • 你使用的 itune 版本和 xcode 版本的标识符是一样的吗?如果两者都与 identifierForVendor 相同,则不会更改,否则它会在设备中创建 2 个单独的应用程序
  • 您尝试了什么解决方案,对于产品特定的应用程序,它很难处理用户订阅。我应该使用什么(我的应用是特定于产品的)代替 VendorID?

标签: iphone ios6


【解决方案1】:

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

但是对于从 AppStore 下载的用户来说,它是一样的。如果版本是 6.1 及更高版本。 6.0.x 存在已知问题。

我已通过 Apple 支持人员向 AppStore 提交我自己的应用程序更新验证了这一点。

【讨论】:

  • 我们计划在更新我们的一个应用程序时发布,您知道从 iTunes 安装时使 identifierForVendor 相同的任何解决方法吗?我们需要它是一样的,因为我们必须测试新版本的应用程序将如何处理旧版本的数据(数据使用这个值作为密钥进行加密)
【解决方案2】:

如文档中所述,从应用商店更新应用时不应更改。

如果您要更新安装了 iTunes 的应用程序,然后使用 Xcode 或基于临时配置或任何配置的 ipa 更新它,您将获得不同的价值。您需要使其保持一致,即 Adhoc 到 adhoc,开发到开发,应用商店到应用商店。

再次从应用商店更新不应该改变。然而。请注意这一点。 在 2015 年 5 月至 7 月期间发生了一个影响 identifierForVendor 计算的错误。如果您在任何加密方案中都依赖此值,则您可能无法解密它。苹果声称已经纠正了这个问题,现在推送另一个更新应该会恢复到关键时期之前的原始值。

在任何情况下,当 identifierForValue 在更新期间发生变化时,您都应该优雅地处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2020-02-20
    • 2016-09-24
    • 2016-11-18
    • 2023-03-25
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多