8.Swift openURL

来源:互联网 发布:h5 js开发3d 编辑:程序博客网 时间:2024/04/30 18:52

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")!)
0 0
原创粉丝点击