我正在使用UIAlertController促进用户进行强制更新的应用程序之一,其中我不希望允许用户执行任何活动,除非他从Appstore更新应用程序。
为了达到这个目的,我写了以下代码。
if (needToUpdate)
{
var alert = UIAlertController(title: "New Version Available", message: "There is a newer version available for download! Please update the app by visiting the Apple Store.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Update", style: UIAlertActionStyle.Default, handler: { alertAction in
UIApplication.sharedApplication().openURL(NSURL(string : "https://itunes.apple.com/app/cheapo-casino-free-casino/id637522371?ls=1&mt=8")!)
alert.dismissViewControllerAnimated(true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
}
它运行良好,但每当用户按下“更新”按钮时,它将转到应用商店,如果用户不更新应用程序。他/她将回到申请表,并可以执行任何不期望的活动。
即使用户按下更新按钮,有没有办法显示UIAlertController?
答案 0 :(得分:2)
您可以在appDelegate中查看该应用的版本。
func applicationDidBecomeActive(_ application: UIApplication) {
//check the app version here and if version mismatch is there show the alert.
// if the version is different then make initial viewController as root view controller. and then present alert from that view controller.
}