在Swift中打开URL失败

时间:2018-06-21 23:50:45

标签: ios swift appdelegate

回调内的断点和记录成功显示为错误。

我将itms-apps添加到了我的plist:LSApplicationQueriesSchemes

并将其放入我的应用程序委托中:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    return true
}

func moreTapped() {
    let url = NSURL(string: "itms-apps://itunes.com/developer/quantum-productions/id979315877")
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url! as URL, options: [:], completionHandler: {(success: Bool) in

        })
    } else {
        UIApplication.shared.openURL(url! as URL)
    }
}

3 个答案:

答案 0 :(得分:2)

您的网址格式不正确,在Swift中应使用NSURL而不是if let url = URL(string:"itms-apps://geo.itunes.apple.com/developer/quantum-productions/id979315877&mt=8") { UIApplication.shared.open(url, options: [:], completionHandler: nil) }

这将在App Store应用中打开您的开发者页面:

canOpenURL

对于诸如http/sitms之类的标准URL类型,无需调用{{1}}。

答案 1 :(得分:0)

Apple刚刚宣布了appstore.com URL。

**

  

https://developer.apple.com/library/ios/qa/qa1633/_index.html

**

  

要创建App Store短链接,请将以下规则应用于您的公司或应用名称:

     

删除所有空白

     

将所有字符转换为小写

     

删除所有版权(©),商标(™)和注册商标(®)   符号

     

将“&”替换为“ and”

     

删除大部分标点符号(请参见清单2)

     

用重音符号和其他“装饰”字符(ü,å等)替换   它们的基本特征(u,a等)

     

所有其他字符保持不变。

     

列出必须删除的2个标点符号。

     

!¡“”#$%'()* +,-。/ :; <=>¿?@ [] ^ _`{|}〜

     

下面是一些示例来说明进行转换的过程   地方。

     

应用名称示例

     

陶笛=> http://appstore.com/ocarina

根据Apple的最新文档 items-apps:或items:将不起作用。您需要使用

  

appStoreLink =   “ https://itunes.apple.com/us/app/apple-store/id375380948?mt=8

     

     

> SKStoreProductViewController

答案 2 :(得分:-3)

这会使您在代码中尝试执行的操作有些混乱,但这可用于打开URL

if let url = URL(string: 
 "your url") {
            UIApplication.shared.open(url, options: [:])