在提交我的应用之前,我不知道如何获取链接,而且这个链接是针对每个国家的应用商店还是通用的?
另外,我不知道怎样做,是只需在那里放入链接即可吗?
@IBAction func rate(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string : "webLinkHere")!)
}
还是应该用另一种方法来做这件事吗?
谢谢
在提交我的应用之前,我不知道如何获取链接,而且这个链接是针对每个国家的应用商店还是通用的?
另外,我不知道怎样做,是只需在那里放入链接即可吗?
@IBAction func rate(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string : "webLinkHere")!)
}
还是应该用另一种方法来做这件事吗?
谢谢
尝试这个,在你的方法中将 appId 更改为你的 App ID
Swift 5
import StoreKit
func rateApp() {
if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
} else if let url = URL(string: "itms-apps://itunes.apple.com/app/" + "appId") {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}
Swift 3 \ 4
func rateApp() {
guard let url = URL(string: "itms-apps://itunes.apple.com/app/" + "appId") else {
return
}
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
id959379869是你的应用在Itunes页面上的ID。
例如 : https://itunes.apple.com/fr/app/hipster-moustache/id959379869?mt=8
如何获取ID:
Swift 4
let url = URL(string: "itms-apps:itunes.apple.com/us/app/apple-store/id\(YOURAPPID)?mt=8&action=write-review")!
UIApplication.shared.openURL(url)
这对我来说是最有效的方法。直接引导用户进入应用程序的“撰写评论”编辑器。
Swift 3.1(支持iOS10及以下版本)
引入新的action=write-review
let appID = "959379869"
if let checkURL = URL(string: "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
open(url: checkURL)
} else {
print("invalid url")
}
...
func open(url: URL) {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
print("Open \(url): \(success)")
})
} else if UIApplication.shared.openURL(url) {
print("Open \(url)")
}
}
已在Swift 2.2上进行测试并且可行。
let appID = "959379869" // Your AppID
if let checkURL = NSURL(string: "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
if UIApplication.sharedApplication().openURL(checkURL) {
print("url successfully opened")
}
} else {
print("invalid url")
}
reviewString
没有被使用。还有一个\(success)
变量在else语句中被使用,但没有声明。 - MBHiOS 10.3+之后
SKStoreReviewController允许用户通过对话框直接从应用程序中对应用程序进行评级。唯一的缺点是,您只能请求StoreKit显示对话框,但不能确定它是否会显示。
import StoreKit
func requestToRate() {
SKStoreReviewController.requestReview()
}
Swift 5.1:以下函数可以将您的用户直接发送到任何商店的评论部分,而不仅限于美国商店:
func rateApp(id : String) {
guard let url = URL(string : "itms-apps://itunes.apple.com/app/id\(id)?mt=8&action=write-review") else { return }
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
用法:
rateApp(id: "1287000522")
重要提示:此方法无法在模拟器上运行!请在真实设备上测试。
您可以使用以下函数,将APP_ID替换为您自己的ID。调用此函数将打开应用商店链接,并显示用户的评论页面,用户可以轻松地点击并编写评论。
func rateApp(){
UIApplication.sharedApplication().openURL(NSURL(string : "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(APP_ID)&onlyLatestVersion=true&pageNumber=0&sortOrdering=1)")!);
}
对于 iOS 10.3+,您可以使用简单的对话框和警报式窗口来选择评分,使用 SKStoreReviewController 完成。为了使用它,您需要导入 StoreKit 库。因此,在应用内部进行评分的通用方法如下:
import StoreKit
func rateApp(){
if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
} else {
guard let url = URL(string: "itms-apps://itunes.apple.com/ru/app/cosmeteria/id1270174484") else {
return
}
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}
当您尝试在模拟器中启动时,您将看不到App Store窗口,请在设备上尝试,它会起作用。该方法涵盖了所有iOS版本,使用所有功能。在您应用程序地址中的路径部分“/us/app”表示您的App Store本地化,例如,“us”表示美国。您可以通过在任何浏览器中打开App Store中的应用程序来轻松找到应用程序ID。要获取链接,只需复制浏览器中的地址。将“https://”更改为“itms-apps://”可让您在App Store应用程序中打开应用程序,而“https”则在Safari中打开Web页面。
警告:如果您在模拟器上运行应用程序
UIApplication.sharedApplication().openURL(NSURL(string : "url")!)
在模拟器中将无法工作,因为没有应用商店。为了测试这个功能,您必须在设备上运行您的应用程序。
Swift 3
func rateApp(){
UIApplication.shared.open(URL(string : "itms-apps://itunes.apple.com/app/id959379869")!, options: [:]) { (done) in
// Handle results
}}
id959379869是您在应用程序的iTunes页面上使用的标识符。