所以我有一个按钮,通过“UIApllication.sharedApplication()。openURL”打开应用程序的应用程序商店页面
奇怪的是,它不会弹出常规的Web浏览器,而是打开应用程序商店页面。
问题是它打开的页面上有一个取消按钮。而那个按钮似乎不起作用。我有什么想法可以实现那个按钮?
以下是代码:(vc()只是一个返回视图控制器的函数)
static func rate()
{
crashLog("Opening up itunes page")
//https://itunes.apple.com/us/app/toothache-be-the-monster/id1033405285?mt=8
if let v = vc()
{
let url = NSURL(string: "itms://itunes.apple.com/de/app/toothache-be-the-monster/id1033405285?mt=8&uo=4")
if UIApplication.sharedApplication().canOpenURL(url!) == true {
UIApplication.sharedApplication().openURL(url!)
}
}
neverRateAgain()
}
答案 0 :(得分:2)
我测试了你的代码。
问题是您使用的是 itms ,这将打开iTunes Store。
Simpy使用 itms-apps 而不是 itms ,因此它将在App Store中打开,而不是在iTunes Store中打开。 (别忘了在你的.plist中更改它)
let url = NSURL(string: "itms-apps://itunes.apple.com/de/app/toothache-be-the-monster/id1033405285?mt=8&uo=4")
答案 1 :(得分:1)
编辑:现在你添加了更多代码,让我告诉你我是如何实现你想要达到的目标。
<强> CODE:强>
func showRateMe() {
let alert = UIAlertController(title: "Would you like to rate the App?", message: "We hope you enjoy the App !", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Rate App now !", style: UIAlertActionStyle.Default, handler: { alertAction in
UIApplication.sharedApplication().openURL(NSURL(string : "https://itunes.apple.com/us/app/name/id")!)
alert.dismissViewControllerAnimated(true, completion: nil)
}))
alert.addAction(UIAlertAction(title: "Later!", style: UIAlertActionStyle.Default, handler: { alertAction in
alert.dismissViewControllerAnimated(true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
alert.addAction(UIAlertAction(title: "NO !", style: UIAlertActionStyle.Default, handler: { alertAction in
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "neverRate")
alert.dismissViewControllerAnimated(true, completion: nil)
}))
}
解决方案(我认为):
我在我的代码中使用:"https://itunes.apple.com/us/app/name/id"
您在自己的身上使用:"itms://itunes.apple.com/de/app/toothache-be-the-monster/id1033405285?mt=8&uo=4"
您应该: "https://itunes.apple.com/de/app/toothache-be-the-monster/id1033405285?mt=8&uo=4"
旧问题的答案:
如果我没弄错的话,这就是你需要做的事情:
1)创建一个带有IBAction的取消按钮。
2)IBAction这样做:
self.dismissViewController()
3)完成。
这就是我将如何实现取消按钮&#34;正如你在问题中写的那样。