从 Web 服务器更新 App Store 应用程序

Updating App Store app from a web server

我想知道是否可以允许用户通过浏览器下载用更新版本替换从 App Store 安装的应用程序。

我的用例是,我希望用户能够通过 App Store 下载和玩游戏,然后允许他们将 App 更新到成人内容版本(App Store 不允许)如果他们认为合适。

用户步骤细分如下:

1.) 用户从 App Store 下载应用程序。

2.) 玩游戏,玩腻了,想要成人内容版本

3.) 导航至 URL 托管成人版 .IPA(例如 https://myappcompany.com/fungameadultversionupdate/index.html 与 manifest.plist 等一起托管)

4.) App下载并替换App Store版本。

我知道,如果没有从 App Store 下载的现有应用程序,现在就有可能实现这一点(iPhone 会拒绝 IPA,因为它不是由 Apple 签署的)。但假设更新后的应用程序由所有相同的密钥(Apple iOS 证书、标识符、配置文件等)编译和签名。

App Store IPA 和更新后的 IPA 之间的唯一区别是更新后的 IPA 的代码库略有修改,并且不会由 Apple 签名。

希望这不会太混乱。我很感激我可能没有使用所有正确的术语,我对 iOS 开发还很陌生。唯一阻止我第一手发现这一点的是我首先需要 App Store 上批准的应用程序来测试它。

不,这不可能。除非您使用 Ad Hoc 交付并将用户的 UUID 内置到您用于构建应用程序的配置文件中,否则您无法交付未经 Apple 签名的应用程序。

您,开发者,不要创建应用商店签名版本。应用商店可以。应用程序商店生成一个应用程序,该应用程序带有加密签名的应用程序商店收据,该收据在购买时是用户的 AppleID 唯一的(以及应用程序的二进制哈希值)。该设备不会 运行 应用程序,除非您有该收据,并且该应用程序的哈希值与应用程序商店版本的哈希值相同。

如果您对应用程序包进行任何更改,应用程序的签名会发生变化,并且与收据不再匹配。