8.Swift openURL
16lz
2021-01-25
8.Swift openURL
- Swift openURL
- 打电话
- 发短信
- 发邮件
- 打开网页
- 打开另外一个App
IOS跟Android一样,都有一个Application对象。IOS中,我们可以通过UIApplication的一个静态方法sharedApplication() -> UIApplication
获得UIApplication对象实例,这个Application对象的openURL(url: NSURL) -> Bool
方法能做很多事情,下面我们来逐个介绍一下。
获取UIApplication实例
UIApplication.sharedApplication() -> UIApplication
openURL可以做很多事情
UIApplication.openURL(url: NSURL) -> Bool
打电话
UIApplication.sharedApplication().openURL(NSURL(string: "tel:10086")!)
发短信
UIApplication.sharedApplication().openURL(NSURL(string: "sms://10086")!)
发邮件
UIApplication.sharedApplication().openURL(NSURL(string: "mailto:421482590@qq.com")!)
打开网页
调用的是本机子的Safari浏览器打开网页
UIApplication.sharedApplication().openURL(NSURL(string: "http://www.baidu.com")!)
打开另外一个App
这里的方式和Android也是类似的,通过和另外一个App**约束好URL Scheme启动App**
- 1.我们需要在另外一个App的info.plist文件内新建一个URL Types的key,然后在配置上约束好的URL Scheme,这里我定义了一个名为”Save”的URL Scheme,如下:
- 2.再重写AppDelegate.swift中的
AppDelegate.application(application: UIApplication, handleOpenURL url: NSURL) -> Bool
方法,在这个方法中取得这个NSURL对象,同时获得相应的信息并且做出对应的跳转之类的事情,我在这里就以打开一个新的ViewController为例。
func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool { let vc = LabelViewController(nibName:"LabelViewController",bundle:nil) self.window?.addSubview(vc.view) vc.myLabel.text = "\(url)" return true }
- 3.在作为调用者的App中通过openURL调用约束好URL Scheme的App。
UIApplication.sharedApplication().openURL(NSURL(string: "save://save.you.from.anything")!)
更多相关文章
- ButterKnife基本使用
- Android(安卓)- Intent与IntentFilter
- Android(安卓)Sensor感应器介绍(一)重力感应加速度获取
- Android(安卓)NDK c创建新的线程
- Android实现KSOAP2访问WebService
- ANDROID中根据QQ号码或者QQ群号码,跳转到指定的QQ号码聊天或者QQ
- Android(安卓)动态申请存储权限
- SharedPreferences存储数据的使用方法(转)
- Android获取系统储存以及内存信息的方法(二)