8.Swift openURL

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:[email protected]")!)

打开网页

调用的是本机子的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,如下:

8.Swift openURL_第1张图片

  • 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")!)

你可能感兴趣的:(ios,android,对象,url,应用)