• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SwiftURLSchemes使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

URL Schemes通常用于分享和第三方登录,但有时需要在html跳至APP,或者APP跳至另外一个APP.这时也需要使用URL Schemes.

一.html跳转至APP

eg:html跳转至test1

在APP中添加URL Schemes,这里的URL Schemes随意写均可,如图:

2.在AppDelegate.swift中加入,func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject])
    -> Bool这个方法:

 1 //MARK: - 通过下面的方法实现点击html可以打开app
 2   func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject])
 3     -> Bool {
 4       if url.host == nil
 5       {
 6         return true;
 7       }
 8       let urlString = url.absoluteString  //url 的绝对字符串
 9       let queryArray = urlString.componentsSeparatedByString("/")  //通过/把URL切成数组
10       //传参
11 //      let alertController = UIAlertController(title: "参数如下",
12 //                                              message: "\(queryArray[2])  \(queryArray[3])", preferredStyle: .Alert)
13 //      let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
14 //      alertController.addAction(cancelAction)
15 //      self.window!.rootViewController!.presentViewController(alertController, animated: true, completion: nil)
16       //打开相应界面
17       let tababarController = self.window!.rootViewController!.childViewControllers[0] as! UITabBarController
18       if queryArray[2] == "item1" {
19         tababarController.selectedIndex = 0  //使tabcarController选中第一个tabbaritem
20       }else if queryArray[2] == "item2"{
21         tababarController.selectedIndex = 1  //使tabcarController选中第二个tabbaritem
22       }
23       //测试方法:
24       //先安装test1
25       //打开浏览器地址栏输入
26       //  test1://       打开test1
27       //  test1://item1  打开test1的第一个item
28       //  test1://item2  打开test1的第二个item
29       //上面的test1就是工程中配置的URL Schemes
30       return true
31   }

二.APP打开APP

eg:test1打开test2

先在test2中配置URl Schemes,然后在test1中写代码即可:

在点击test1中的一个按钮时,在其点击方法中通过openURL打开即可.

 1  @IBOutlet var btn: UIButton!
 2     override func viewDidLoad() {
 3         super.viewDidLoad()
 4       btn.addTarget(self, action: #selector(Tab2ViewController.btnClick), forControlEvents: .TouchUpInside)
 5         // Do any additional setup after loading the view.
 6     }
 7    func btnClick(){
 8     let urlString = "test2://"
 9     let url = NSURL(string: urlString)
10     UIApplication.sharedApplication().openURL(url!)
11    }

同时,因为iOS9的安全因素,需要在test1中设置白名单.设置方法参考:http://www.cnblogs.com/shaoting/p/5148323.html

其余常见应用的URL Schemes:http://www.cnblogs.com/shaoting/p/5148323.html

demo下载:https://github.com/pheromone/URLSchemes

              http://download.csdn.net/detail/shaoting19910730/9496841

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode1202.交换字符串中的元素|SmallestStringWithSwaps发布时间:2022-07-13
下一篇:
学习Swift第一天的笔记发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap