URL Scheme
URL Scheme 可以说是 iOS 上 App 与 App 之间沟通与连接的桥梁。
At the simplest level, a custom URL scheme allows users to open your app from other apps. But the true power of URL schemes is in the ability to perform specific actions as your app opens.
举个简单且常见的例子,当你在微博中看到某个淘宝推广链接,你点进去就会自动跳转到淘宝.app;你在 Safari 中输入 weixin:
,然后按回车,就会跳转到微信.app。许多应用与应用之间的跳转都是通过 URL Scheme 来完成的。当然,就像苹果官方文档说的,URL Scheme 的功能还不仅仅是打开应用这么简单,更酷的是还能通过 URL Scheme 来完成某项操作。而 x-callback-url
这个特性则能使一个动作完成时再进行下一个动作。比如我接下来要说的 Due app:
Due
本来 iOS 自带的 reminder 已经非常出色了,但却不够简洁,创建一个项目后必须点好几步才能设置提醒时间 而我需要的是在进行某项工作时,设定一个 reminder,然后再返回到我的工作中,比如我在 Safari 浏览一系列网页,看到一篇很长的文章,现在看不完,于是发送到 pocket 以后再读,并设定一个阅读的日期,最后返回 Safari 浏览其他网页。显然这一系列操作使用 URL scheme 完成,系统自带的 reminder 不支持通过 x-callback-url
特性,也就是不能自动返回。
而 Due 对 URL scheme 的支持就优秀多了,不仅支持通过 URL 创建可设置日期的提醒事项,还支持 x-callback-url 特性
。
只不过,Due 还和其他支持 x-callback-url
的软件不一样,像 Drafts,只需在 URL 结尾添加 x-success=
命令即可,而 Due 在 x-success
之前,还必须添加一个 x-socure
变量。今天由于没注意到 x-source
变量,害我以为 Due 不支持 x-callback 特性了…
所以 Due 完整的 x-callback-url
URL scheme 应该是:
due://x-callback-url/add?title=example%20note=example&x-source=example&x-success={{youraction}}
一个有关“x-callback-url 与 Due”的想法