什么是URL Scheme
简单的说,由于苹果选择使用沙盒机制来保障用户的隐私和安全,APP只能访问自己沙盒数据,但同时也阻碍了应用间合理的信息共享。因此苹果提供了一个可以在APP之间跳转的方法:URL Scheme
。如果你的APP需要其他APP访问某些功能或者数据,那么你需要在你的APP定义一个相应的URL Scheme
。当别的APP使用URL Scheme
进行访问时,系统会根据URL Scheme
进行匹配,从而来拉起对应的APP。
如何理解URL Scheme
如果想要更清晰的认识URL Scheme
电话,我们需要了解下面几个概念:
URL
(Uniform Resource Locator:统一资源定位器):也就是我们所属于的"网址",通过它我们可以访问到我们想要的服务和资源,并且URL
也可以传递相应的参数,也就是我们常说的GET
请求;URL
地址格式排列为:scheme://host:port/path
,举个栗子:https://www.jianshu.com/u/b09c13696e1c就是个典型的URL
,而这个网址对应的Scheme
就是https
,标识的是一个URL
中的一个位置——最初始的位置,也可以理解为一种协议头。而我们自定义的URL Scheme
可以理解为一种自定义的协议。- 根据我们上面对
URL Scheme
的理解,我们可以很轻易地理解,在以本地应用为主的iOS
上,我们可以像定位一个网页一样,用一种特殊的URL
来定位一个应用甚至应用里某个具体的功能。而定位这个应用的标识,也就是Scheme
。比如微信的Scheme
是weixin
,打开微信扫一扫功能的URL Scheme
则是weixin://dl/scan
。
这样一对比就容易很明白的理解出了URL Scheme的真正含义,它是为了在iOS系统中定位对应的App然后执行对应的操作,复杂的URL Scheme还可以传递参数。