应用间跳转(Swift)
2016-11-18 本文已影响727人
SummerSam
一.应用跳转的介绍
- 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现在运行的话相信已经没问题了
第一次写简书,有什么不足的地方多多指教,谢谢~~~
也希望大家多多点赞,关注