应用间跳转(Swift)

一.应用跳转的介绍

  • 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

应用间跳转(Swift)_第1张图片
Snip20161118_1.png
应用间跳转(Swift)_第2张图片
Snip20161118_2.png
应用间跳转(Swift)_第3张图片
Snip20161118_3.png

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

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

你可能感兴趣的:(应用间跳转(Swift))