30

iOS 应用更新机制是如何工作的?如何告诉用户 Appstore 上的应用程序已更新?我是否必须在代码中编写功能以显示更新弹出框,或者它是否由 Appstore 处理以向用户显示应用程序已更新的通知。苹果是否为此提供了任何文档?

4

2 回答 2

29

您可以使用Harpy:当您的应用程序的新版本在 App Store 上可用时,此模块会触发 UIAlertView。

Harpy现在被贬低了。Siren是从 Harpy 移植过来的,因为SirenHarpy由同一个开发人员维护。截至 2018 年 12 月,Harpy 已被弃用,取而代之的是Siren

于 2013-02-01T09:41:59.687 回答
28
  1. Apple 提供了一个现有 API 来从 App Store 上的应用程序中获取最新的应用程序信息:http: //itunes.apple.com/jp/lookup/ ?id=app_id

例如: http: //itunes.apple.com/jp/lookup/ ?id=1005582646

例如美国应用程序:http://itunes.apple.com/lookup/?id=myAppIDNumberFromTheAppStore

请注意,这与 App Store Connect API 是分开的。如果你使用它,你需要在发出请求之前生成一个令牌。请先查看 API 上的文档,否则您将得到一个空结果的响应。

https://developer.apple.com/documentation/appstoreconnectapi

https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests

iTunes API 的响应有一个在该字段"version"内的"results"字段。它具有 App Store 上最新版本的版本号。

AppDelegate->didFinishLaunchingWithOptions中,您可以调用上述 API。

  1. 在用户设备上获取当前版本的方法:

对象-C。

NSString *currentAppVersion = [[[NSBundle mainBundle]
    infoDictionary] objectForKey:@"CFBundleShortVersionString"];

斯威夫特 (4.2)

var currentAppVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String

现在,您可以比较 1 和 2 的版本号,以便在 App Store 上有更新的应用程序时向用户显示警报或通知。

于 2015-09-29T03:12:59.060 回答