应用间跳转(Swift)

作者: SummerSam | 来源:发表于2016-11-18 20:53 被阅读727次

    一.应用跳转的介绍

    • 1.应用间跳转即从一个应用程序跳转到另一个应用程序
    • 2.应用间跳转的应用:
      • 1.应用推荐
      • 2.支付宝,微信支付
    • 3.第三方登录
    • 4.微信,朋友圈,QQ分享

    二.如何打开应用程序

    • 1.想要打开一个应用程序必须拥有该程序的URL

    • 2.URL是什么?

    • 统一资源定位符

    • 组成:

      • 1.scheme : 协议头
      • 2.path : 路径
    • 3.获取到URL后,可以通过以下代码打开应用程序

    • 注意:

      • 1.iOS9中打开一个应用程序的URL必须配置info.plist文件
      • 2.添加LSApplicationQueriesSchemes的key
      • 3.添加对应URL的schme
    func openURL(URLString : String) {
    1.获取对应应用程序的url
            guard let url = URL(string: URLString) else {return}
    
    2.判断url是否可以打开
            guard UIApplication.shared.canOpenURL(url) else {return}
    
    3.打开对应应用程序
    //这是一个过期的方法,因为我们只需要跳转某一个应用所以直接用这个方法,
            UIApplication.shared.openURL(url)
    //这是新方法
            UIApplication.shared.open(<#T##url: URL##URL#>, options: <#T##[String : Any]#>, completionHandler: <#T##((Bool) -> Void)?##((Bool) -> Void)?##(Bool) -> Void#>)
    }
    

    打开系统的应用程序

    • 1.打电话
    URL:tel://电话号码
    openURL(URLString: "tel://10010")
    
    • 2.发短信
    URL:sms://电话号码
    openURL(URLString: "sms://10010")
    
    • 3.打开AppStore
    openURL(URLString: "itms-apps://")
    

    打开外部应用程序

    • 跟上面步骤一样,只是URL不同,微信的URL是 : wechat
     func openWechat() {
            openURL("wechat://")
        }
    
    • 这个只能在真机上运行哦,毕竟虚拟机没有wechat
      不过当你运行程序的时候很快就会发现这样的报错
    **2.****打开外部程序****[2745:771630] -canOpenURL: failed for URL: "wechat://" - error: "This app is not allowed to query for scheme wechat"**
    

    注意:原因是因为没有配置info.plst文件,iOS9中打开一个应用程序的URL必须配置info.plist文件,添加LSApplicationQueriesSchemes的key,添加对应URL的schme

    Snip20161118_1.png Snip20161118_2.png Snip20161118_3.png

    现在运行的话相信已经没问题了

    第一次写简书,有什么不足的地方多多指教,谢谢~~~
    也希望大家多多点赞,关注

    相关文章

      网友评论

      • SummerSam:对了 有一条忘了加 至于App的url scheme 大部分都可以用它的名字至于有些不可以的 可以上google搜索 openurl appstore

      本文标题:应用间跳转(Swift)

      本文链接:https://www.haomeiwen.com/subject/fcojpttx.html