强制用户在iOS中以编程方式更新应用程序

在我的iOS应用程序中,我启用了强制应用程序更新function 就是这样。

如果有一个关键的错误修复。 在服务器中,我们正在设置新版本。 在启animation面中,我正在检查当前的应用程序版本,如果它低于服务版本,则显示一条消息来更新应用程序。

我已经把2个button“现在更新”,“稍后更新”

我有2个问题

  1. 如果我现在点击。 应用程序应该用buttonUPDATE在appstore中打开我的应用程序。 目前我使用链接“ http://appstore.com/mycompanynamepvtltd ”这将打开我公司的应用程序列表,但它有button打开,而不是更新,即使有一个新的更新为我的应用程序。 什么是更新页面的url?

  2. 如果他点击button“稍后更新”可以以编程方式closures应用程序吗? 这是否会导致在appstore中拒绝我的应用程序?

请帮我解决这两个问题

不要以编程方式closures应用程序。 苹果可以拒绝该应用程序。 更好的方法是不允许用户使用该应用程序。 保持更新button。 用户可以自己去应用程序商店或closures应用程序。

根据苹果,你的应用程序不应该自行终止。 由于用户没有点击主页button,任何返回到主屏幕给用户的印象是你的应用程序崩溃。 这是混乱,不规范的行为,应该避免。

请检查这个论坛:

https://forums.developer.apple.com/thread/52767

这发生在很多人身上。 在我的项目中,我将用户redirect到我们从应用程序商店下载应用程序的网站页面。 这样,如果用户在App Store中没有获得更新button,至less用户可以暂时使用Safari浏览器中的网站。

要点2 :如果您不希望用户稍后更新,则只应允许强制更新作为选项。 以编程方式closures应用程序不是正确的选项。

要点1 :你可以使用一个好的库来达到这个目的。

Swift中的用法:

func applicationDidBecomeActive(application: UIApplication) { /* Perform daily (.daily) or weekly (.weekly) checks for new version of your app. Useful if user returns to your app from the background after extended period of time. Place in applicationDidBecomeActive(_:)*/ Siren.shared.checkVersion(checkType: .daily) 

}

Objective-C中的用法:

 -(void)applicationDidBecomeActive:(UIApplication *)application { // Perform daily check for new version of your app [[Harpy sharedInstance] checkVersionDaily]; } 

它是如何工作的:它使用了返回应用程序详细信息(如链接包括版本)的lookup api并将其进行比较。

例如,通过调用https://itunes.apple.com/lookup?id=284910350,通过iTunes ID查找Yelp Software应用程序

欲了解更多信息,请访问链接