美文网首页
你不知道的iOS URL Scheme之基础篇(一)

你不知道的iOS URL Scheme之基础篇(一)

作者: 清晨一杯豆浆 | 来源:发表于2019-06-10 15:32 被阅读0次

    前言

    iOS URL Scheme是Apple提供的一个很好用的机制,通过这一机制可以做很多你想到以及想不到的事。怎么?你不相信?不相信也不要着急,这一集我们先从基本走近iOS URL Scheme,掀开她的神秘面纱。

    URL Scheme是什么

    认识URL Scheme之前,我们想起了我们的老朋友URL。说起老朋友,我们又怎么能不去叙叙旧呢?说叙叙旧,咱就叙叙旧。

    URL

    URL(Uniform Resoure Locator:统一资源定位器),也就是我们熟悉的“网址”,通过URL可以访问相应的服务和资源,并且URL可以传递相应的参数。URL地址格式排列为:

    scheme://host:port/path?query
    

    举例如下:

    https://www.apple.com/hk/en/iphone/
    

    这个URL网址对应的Scheme就是https,可以理解为遵守相应的协议。

    详解URL Scheme

    定义

    Scheme一般用来表示协议,比如 http、https、ftp 等,URL Scheme的字面意思理解就是地址协议。

    组成

    一个完整的 URL Scheme 应该分为 Scheme、Action、Parameter、Value 这 4 个部分,中间用冒号( :)、斜线 (/)、问号 (?)、等号(=)相连接。举个例子:

    alipay://open?page=payPage&title=pay
    

    它对应的4部分就是如下所示:

    • Scheme(头):alipay
    • Action(动作):open
    • Parameter(参数): page、title
    • Value(值): payPage、pay

    不同部分之间用符号相连,它们也有一定的规则(和URL部分规则是一样的):

    • 冒号(:):在链接头和命令之间;
    • 双斜杠(//):在链接头和命令之间;
    • 问号(?):在命令和参数之间;
    • 等号(=):在参数和值之间;
    • 和符号(&):在一组参数和另一组参数之间。

    访问流程

    在移动端Safari浏览器输入以上示例网址就会提示你 在"支付宝"中打开链接吗?,然后由你选择”取消”或”打开”。和HTTP协议格式的URL访问流程进行对比,iOS URL Scheme实际上就是启动一个应用的 URL,其访问流程是这样的:

    浏览器输入网址 -> iOS识别URL Scheme -> 询问是否跳转到支付宝 -> 确认跳转 -> 从浏览器跳转到支付宝应用 -> 在应用中解析URL -> 执行open操作 -> 传递动作所需page和title参数

    iOS如何识别URL Scheme

    iOS官方要求的是APP开发者需要自定义APP的”URL Scheme”,只有APP本身定义(支持)了URL Scheme,iOS才会去识别然后跳转。iOS系统内置的App,如mail、电话和信息等等,都有相应的URL Scheme供其他的App调用。

    URL Scheme的作用

    由于Apple选择沙盒来保障用户的隐私和安全,App只能访问自己的沙盒,但同时也阻碍了应用间合理的信息共享,所以苹果提供了一个可以在App之间跳转的方法:URL Scheme。通过该方法,可以实现本APP被第三方APP访问唤起以及APP之间的数据传递等功能,这些应用会在后续文章中详细介绍,大家敬请期待吧。

    相关文章

      网友评论

          本文标题:你不知道的iOS URL Scheme之基础篇(一)

          本文链接:https://www.haomeiwen.com/subject/jksuxctx.html