我正在尝试将“评估我的应用”功能添加到尚未发布的iOS应用中。
我有一个简单的功能,如下所示:
let alert = UIAlertController(title: "Rate Us", message: "Thanks for using <APP NAME>", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Rate <APP NAME>", style: UIAlertActionStyle.Default, handler: { alertAction in
UIApplication.sharedApplication().openURL(NSURL(string : "itms-apps://itunes.apple.com/app/<ITUNES CONNECT APP ID>")!)
alert.dismissViewControllerAnimated(true, completion: nil)
}))
alert.addAction(UIAlertAction(title: "No Thanks", style: UIAlertActionStyle.Default, handler: { alertAction in
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "neverRate")
alert.dismissViewControllerAnimated(true, completion: nil)
}))
alert.addAction(UIAlertAction(title: "Maybe Later", style: UIAlertActionStyle.Default, handler: { alertAction in
alert.dismissViewControllerAnimated(true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
如何测试这是否有效?
我的应用尚未提交,我想确保代码正常运行。
我收到警报,当我点击“评价我们”时,它会将我重定向到应用程序商店:
控制台出错:
2016-02-24 18:38:00.302 <APP NAME>[2212:808041] _BSMachError: (os/kern) invalid capability (20)
2016-02-24 18:38:00.305 <APP NAME>[2212:808256] _BSMachError: (os/kern) invalid name (15)
我不确定这是否意味着该功能不起作用。
非常感谢任何帮助。
答案 0 :(得分:3)
有一个很好的图书馆,可以满足您的需求。您可以使用iRate库。所有细节都可以从以下链接中找到
https://github.com/nicklockwood/iRate
库会检查用户是否已查看特定版本,如果没有,则会提示用户对应用进行评级。可以配置提示警报的时间段。此外,如果您在商店中有实时应用程序,则可以在开发时测试该功能。
我希望这会有所帮助......
答案 1 :(得分:0)
我检查了你的代码&amp;没错。您传递的URL也是正确的。它可能会发生,但它不适用于某些操作系统版本或某些特定设备。
因此,在这种情况下,只需尝试使用此网址代替您的网址:
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YOUR+AppID
这是尝试过的&amp;在我的应用程序中测试过。
注意:强>
希望它对你有用。