【问题标题】:Understanding simple code in swift [closed]快速理解简单的代码[关闭]
【发布时间】:2018-03-02 13:47:42
【问题描述】:

我找到了实现在应用商店 (App store link for "rate/review this app") 上获得评分的链接的答案。答案是:

let appID = "Your App ID on App Store"
let urlStr = "itms-apps://itunes.apple.com/app/id\(appID)" // 
(Option 1) Open App Page    
let urlStr = "itms-apps://itunes.apple.com/app/viewContentsUserReviews?
id=\(appID)" // (Option 2) Open App Review Tab


if let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) 
{
if #available(iOS 10.0, *) {
    UIApplication.shared.open(url, options: [:], completionHandler: 
nil)
} else {
    UIApplication.shared.openURL(url)
}
}

我无法理解如何实现这一点。特别是我不明白 if 语句将如何将用户带到应用商店。

谢谢。

【问题讨论】:

  • 你需要阅读官方文档。至少您需要编写代码而不是复制过去以更好地理解
  • 你不明白UIApplication.shared.open(url 是什么意思吗? Swift/API 很冗长,易于理解。
  • 我发现 Sh_Kahn 的回答真的很有帮助。

标签: ios swift xcode


【解决方案1】:

第一部分

let appID = "Your App ID on App Store"
let urlStr = "itms-apps://itunes.apple.com/app/id\(appID)" // 
(Option 1) Open App Page    
let urlStr = "itms-apps://itunes.apple.com/app/viewContentsUserReviews?
id=\(appID)" // (Option 2) Open App Review Tab

在 iTunes 评论部分获取您应用的网址,以便用户撰写评论

第二部分

if let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) 

检查url是否有效,是否可以通过application.shared打开,如果可以,则根据当前版本检查所需的功能。 其实系统知道app需要打开url,执行语句的时候看open

  UIApplication.shared.open(url, options: [:], completionHandler:nil)

或者

  UIApplication.shared.openURL(url)

【讨论】:

  • 即使现在看起来很明显我真的没有得到它。这真的很有帮助。谢谢,真的。
【解决方案2】:

您正在使用 itms-apps:// 方案打开 url。所以系统本身就知道应该由哪个应用来处理这个问题。

【讨论】: