应用程序商店取消按钮不起作用

时间:2016-05-07 16:11:13

标签: ios swift

所以我有一个按钮,通过“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()
    }

2 个答案:

答案 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;正如你在问题中写的那样。