iOSer 必知必会的深度链接技术——WWDC2019更新
1、SandBox(沙盒)
SandBox(沙盒)是苹果官方规定的iOS系统强制应用程序只能够读取应用程序内部数据,不可以访问其他应用信息数据的一种机制。
1. 在iOS系统的设备中每一个App都有自己的储存空间;
2. App只能访问自己沙盒目录下的内容,不能访问其它存储空间的内容;
3. 应用程序的数据请求需要经过权限检测,检测不通过则不执行;
2、为什么使用沙盒?
SandBox(沙盒)是安全体系中的董沟轿一种机制,从而苹果公司在设计iOS系统时,考虑到应用之间的信息安全,对应用程序的访问权限设置了限制。
3、SandBox(沙盒)的弊端
使用沙盒机制后App之间不能相互访问进行通信,从而使得App成为一个个的信息孤岛。(弱小可怜又无助)
4、如何解决SandBox(沙盒)问题?
不能说荡迅苹果的初衷怎么样,但是带来的问题是显而易见的,那么其实苹果早在2010年 iOS 4 的时候就已经意识到App信息孤立的问题了,所以推出了 URL Scheme 技术,此技术使得iOS系统可以通过特定的URL方式传递参数给另外一个App。例如:iOSer://userid=123456&name=sands 。
不得不掩薪承认,这个技术确实解决了当初比较棘手的问题,但是在日新月异的今天,URL Scheme的诟病也日渐显著,比如想要实现两个App之间的跳转则需要兼并开发,再比如URL Scheme能够打开App的前提是已经安装了App,如果没有安装则一定会报错,相信下面的错误大家一定都见的不少,更重要的是现在越来越多的浏览器已经不再支持URL Scheme了,这必然让我们不得不另辟蹊径。
相信苹果也是深刻的意识到了URL Scheme已经不再是长久之计了,所以苹果在2015年 iOS 9 中隆重推出了 Universal Links(通用链接) 。