【Launcher 教程】从 URL Schemes 入门到用 Launcher 调用各效率软件

  • 如果你刚接触 URL Schemes,请从头开始看,会有收获。
  • 如果你对 URL Schemes 有基本了解,但是刚接触 Launcher,可以从基本使用开始看
  • 如果你以前用过和买过 Launcher,不知道新版有什么区别,可以从高级功能开始看。
  • 如果你对上述内容都有了解,但对 Launcher 的使用思路上有些不清晰,可以从使用思路开始看。

URL Schemes 是在 iOS 设备上执行效率操作的利器。在智能设备上,有一类效率工具,其功能的主要目的就是减少操作时人所受到的干扰、减少操作步骤,让你直达你需要达到的功能。而在 iOS 设备上,只有 URL Schemes 和 x-callback-URL 相关的动作才有这个能力。所以在 iOS 上,同类的软件,支持不支持 URL Schemes 和 x-callback-URL 在某种程度上,是判断它是否精良的标志。

这篇文章你会经常看到 URL Schemes 这个词,因为 Launcher 本质上就是一个完全基于 URL Schemes 的软件。那么 URL Schemes 是啥?你可以这么理解:在不越狱的 iOS 设备上,通过一个软件打开另一个软件乃至另一个软件的具体某个功能的办法。

比如,你在你 iOS 设备里的 Safari 的地址栏里输入 music:// 然后按前往(英文键盘是Go),看看发生了什么事。

这就是 URL Schemes 的能耐。在 iOS 设备里,并非只有 Safari 才可以使用 URL Schemes,也不是只有苹果的 App 才能用 URL Schemes 来激活。理论上,每个 App 都可以让自己支持 URL Schemes,而且事实上也已经有相当一批软件支持了 URL Schemes,因此,也出现了有一些软件本身不具备独立的功能,但因为 URL Schemes,它们可以充当那些支持 URL Schemes 的启动器。

在能够使用 URL Schemes 的软件里,Launcher 应该是最入门的一款。它的整个软件就是个 URL Schemes 激活器,而且它只支持最传统的 URL Schemes 格式,所以如果想入门 URL Schemes,从 Launcher 开始就是个不错的选择。

基本使用

启动器是 Launcher 的官方中文翻译,你在 Launcher 里新建了一个 App 或是一个联系人的电话,都统称为启动器。

Launcher 的目的是让你在通知中心里使用启动器,所以你装完这个软件首先要做的是把它添加到通知中心里。在 Launcher 这个软件中某些启动器会失效,会弹出“抱歉,无法打开指定启动器”这个提示,但是在通知中心里打开它就没问题。

添加内置动作

添加内置动作是点击右上角的编辑按钮,然后点击绿色的加号(不要问我为什么绿色的加号下面是“添加新曲目”,到现在我都没弄清 Launcher 的中文翻译是个人还是谷歌):

不购买内购的话,Launcher 只能添加 8 个启动器。而它默认就给你加了 7 个。所以你其实第一要做的不是添加,而是删除,把它默认的那些全给删光。不要想“我以后也许会有用”,当你不知道一个东西对你有用没用的时候,你要做的不是把它放在身边碍事而是把它扔一边,如果你再次意识到你需要它,你再把它拿回来。



删除光了清爽多了

按绿色加号,就能看到 Launcher 内置的启动器模板。Launcher 里有 4 种形式的启动器:联系人、网站、应用程序、自定义(URL Schemes)。这里只介绍应用程序启动器,懂了应用程序怎么玩的话,联系人和网站就不成问题。自定义启动器我们下个部分再提。

选择应用程序启动器后,你看到一个被划分为
4 部分的列表。

  • 第一部分是赞助商,也就是广告,这部分购买内购以后会消失。
  • 第二部分是系统
    App
    ,里面是 iOS 内置的并且支持 URL Schemes 的 App。
  • 第三部分是第三方
    App
    ,即你在 App Store 里下载的并支持 URL Schemes 的 App。
  • 最后一部分是所有可启动的应用程序,里面囊括了
    Launcher 数据库里支持 URL Schemes 的所有 App。

拿第二部分系统
App
来举例,你会看到有一些 App 后面有箭头而有的没有。没箭头的,代表 Launcher 只能通过这个动作启动这个 App。而有箭头的代表我们还可以进行下一步的动作。

比如设置这一项,点进去以后我们能看到设置中的所有选项。选择其中一个,比如最后一项
Wi-Fi,就会看到下面这个界面:

如果你不需要特别的修改,那么选择你想要的动作。根据提示操作,就建立完成了一个动作。其它的内置动作也是如此,根据菜单的引导就可以做到了,没有什么困难的。

修改内置动作 & 添加自定义动作

本质上,4 种内置的启动器都是利用了 URL Schemes,所以它们都可以用 URL Schemes 的规则来修改,添加自定义动作这一项本质上也就是填写一个你自己知道的 URL 然后取名字,配图。

像 Launcher 还有 Launch Center Pro 这样有内置动作的软件,并不是说它们内置了的就是全部。

比如 Laucnher 里有 App Store。在 Launcher 的菜单里,它只能启动 App Store,不能做出像直接进入付费榜界面这样更直接的操作。那么是不是
App Store 不支持那样更直接的操作呢?不是,而是 Launcher 开发者不知道,每个 App 的 URL 都不同,所以不能指望 Launcher 的开发者知道全部的 URL。不过 Launcher 的开发者给了个网站,你可以[这个网页](https://cromulental.appspot.com/suggest/)提交 Launcher 中没有的软件和动作。

我们也可以修改它原始动作的 URL,以 App Store 为例:

第一步:添加内置的 App Store 这个动作,
第二步:在 Launcher 的设置选项里选择高级用户设置,看看里面俩开关是不是都开着的(默认是关闭的),不是的话都打开,打开以后才能直接在动作里编辑
URL:

第三步:编辑 App Store 这个启动器,把直接打开付费榜这个动作的
URL替换进去:

itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewTop?genreId=36&popId=30

你可以看到,Launcher 这个输入 URL 的地方太憋屈,而且这些 URL 你很容易看错,比如上面 App Store 付费榜的 URL 里最后的这部分genreId=36&popId=30,里面没有“L”,都是大写的“I”。所以我建议,你在修改
URL Shemes 的时候最好避免输入,尤其是避免看着别人的 URL 输入,最好是复制粘贴。

为动作添加单一 Icon

如果你添加的动作是直接从 Launcher 内置的动作里添加的,那么它会自动给你匹配相应软件的图片。

不过我们看设置选项那些动作的图片都一样,都是那个齿轮,没有辨识性,一拉开通知中心看见四个齿轮多堵得慌……所以 Launcher 还可以让你自己修改 Icon。

在动作编辑界面点按 Icon,就能修改 Icon:

自定义图标就是让你从设备上传图片,这个图片你可以在网上找。Launcher 可以对图片进行缩放,并且有圆形和圆角矩形两种外型,只要你找的图片清晰度够,作出的图标就不会太难看。

为动作添加复合 Icon

复合 Icon 就是 Icon 右下角还有个小 Icon,用于给启动器归类。比如说你在 Launcher 里添加联系人,有的是用来打电话的有的是用来发短信的,除了硬记,咋区别?Launcher 让你在用于发短信的联系人右下角添加一个短信的图标,在用于打电话的联系人右下角放一个电话的图标。

但是复合 Icon 这个功能比较残,它的主图标,就是大的那个 Icon,只能是联系人图片,不能是你自定义上传的图片。所以如果你不在你通讯录添加一堆无用联系人的话,你就只能在通话或短信这方面使用复合图标了。

高级功能

Launcher 总共有三个高级功能,这三个高级功能没有一个,而且合起来也不值 25 大洋。当然,如果你在它上一版下架前就用 12 块买过内购的话,在这一版可以恢复内购。

Label 显示或隐藏

高级功能的第一个是隐藏 Label。Label 就是 Icon 下面的那一行字。比如说看着你手机上微博这个软件,红黄相间的图片叫 Icon,下面“微博”俩字叫 Label。

所以只要你花 25 块钱,就可以在通知中心插件和 Launcher 软件中,隐藏动作名啦!多么的划算!

Icon 大小调节

我一直说,通知中心是寸土寸金,插件越不占地方越喜欢。Launcher 的另一项高级功能,就是调节 Icon 在通知中心和 Launcher 软件中的大小。它一共有三个层级:(以 iPhone 为例)最大的,可以一行显示 4 个 Icon;中间档,一行可以显示 5 个 Icon;最小的,可以一行显示 7 个 Icon:

听我的,如果你买了高级版,一定试试放 7 个设置选项动作然后隐藏 Label。

取消启动器个数限制

没有买高级版的用户只能用 8 个启动器,买了的话 iPhone 可以添加到 20 个,iPad 可以添加到 30 个。

这可以说是最值钱的高级功能了,但它值 25 块吗?今天有人来跟我说,因为 Launcher 可以把 Workflow 的动作放进去,所以 8 个肯定不够用。所以我觉得这个看理解,我不喜欢在通知中心放这么一大坨方疙瘩,我的思路是只用几个有必要且常用的,4 个比较理想,因为不会看起来缺个口,不然我其实顶多放 3 个。

使用思路

作为一个通知中心启动器,Launcher 的优势就是“任意界面皆可调动”。同时作为一个效率软件,我们希望通过它能少做一步操作就少做一步。所以它的使用思路跟你本人的使用情境和对 URL Schemes 的掌握挂钩。

我个人的用法,在《如何高效地使用Launcher,如果你还没删的话》里已经总结并介绍了,这里由易到难摘要介绍一下。

  1. 打开设置选项,例如 Wi-Fi、键盘、用量等。这是 Launcher 的独特功能,其它 App 都没敢踩这个红线。(通过内置动作即可完成)
  2. 利用 URL Schemes 直接打开 Moneywiz 的支出页面,用于记账。(需要掌握 Moneywiz 的支出页面的 URL Schemes)
  3. 利用 Launch Center Pro 的 URL Schemes,直接调用 Launch Center Pro 中的 1Password 动作。(需要知道如何可以调动 Launch Center Pro 的动作)
  4. 对于一些对 URL Schemes 支持完备的软件,例如 Evernote,我们没有必要把它们的通知中心插件都开启。因为我们一般不会用到它通知中心插件的所有功能,所以只为了其中一个按钮留一整个插件实在浪费空间。所以可以仅把你用的那个功能放进 Launcher 中,节省通知中心空间。这个用法是 @文刀漢三 在TalkJB
    第48期: 苹果收回成命,Launcher 满血复活
    中提到的。

用 Launcher 调用其它效率软件的动作

这其中第三点,值得细说一下。目前知名的使用 URL Schemes 的软件,如 Launch Center Pro、Drafts、Workflow等,都有自己特殊的功能,我们对它们的要求也因为它们的特性而各不相同。所以我们用这些软件做成了功能各异的动作,来提高我们的效率。而且这些软件中的动作,都可以用 URL Schemes 来调用,也就是说,有了 Launcher,就不必再进入各自的软件界面,而是在通知中心就能直接使用这些强大的动作。

下面我们就分别说一下这三款软件的动作如何用 URL Schemes 来调用:

有的部分有点难,看不懂就过,你用得着了再回来琢磨。

Launch Center Pro 动作的调用办法

Launch Center Pro 的每个动作,都有一个动作 ID,名为Action
ID
,它可以在动作编辑页面的最下方找到。调用
Launch Center Pro 里这个ID 的URL Schemes 是 launch://?url=[action:Aciton
ID]

所以如果你想在 Launcher 里使用 Launch Center Pro 的动作,只要在 URL 的编辑部分填入 launch://?url=[action:Aciton
ID]
 这个 URL。

Drafts 动作的调用办法

Drafts 不像 Launch Center Pro 一样给每个动作都搞了个 ID。Drafts 中的动作唯一标识就是它的名字,而调用 Drafts 中动作的 URL 是drafts4://x-callback-url/runAction?text=文本&action=动作名

你可能会意识到 Drafts 是个文本编辑软件,Launcher 又不能输文本我用它干啥。确实,我们看到,这个 URL 里,text= 后面是文本,这个文本可以是具体的文字,比如说可以是越狱指南,你可以直接把越狱指南放到这个text=后面,那么你执行任何动作,发出去的文本都是预设好的越狱指南

但是这个文本还可以是 Parameter,也就是参数。参数就让这个
URL 更加灵活,比如,你可以把剪切板的内容添加到 Drafts 的这个调用动作的 URL 中:

drafts4://x-callback-url/runAction?text=||clipboard||&action=动作名

那是不是我们直接把上面这个 URL 放到 Launcher 里就能直接调用了呢?不是。URL Schemes 这货让人烦人的重要一点就是标准不统一,像 Launch Center Pro、Drafts 这样的老牌 App,它们都会自动地对 URL 中的符号进行 encode,可是像 Launcher 这样的刚进入这个领域的软件,一般都得我们先手动地把符号 encode 了以后才能用,起码得对部分符号 encode。Launcher 尤其讨厌,你把符号全部 encode 了它也不认识,你就必须把 Launcher
不认识的那部分符号给 encode 了才可以。这部分符号中,就有上面 Drafts 这个动作里,调用剪切板的那个特殊符号——|。它
encode 以后是 %7c,也就是说,你如果想在
Launcher 里做一个通过 Drafts 直接
google 剪切板内容
 的动作,它的 URL 应该是这样:

drafts4://x-callback-url/runAction?text=%7c%7cclipboard%7c%7c&action=Google搜索的动作名

这个功能当然也可以用 Launch Center Pro 和 Workflow 做到,所以这里提到它主要是为了说明一下 URL Schemes 的编码问题。

Workflow 动作的调用办法

Launcher 里内置了 Workflow 的动作,所以你可以直接选择 Workflow 的动作去使用。

如果你想知道 Workflow 调用动作的 URL,为了便于你在其它 App 中使用的话,这个 URL 是:

workflow://run-workflow?name=Workflow动作名

结语

没想到一个 Launcher 的教程最后带出来这么多东西,我本人还不是那么喜欢它……

我眼中的它的实用价值,我已经在《如何高效地使用Launcher》这篇文章提到并且讨论过了。所以最好两篇文章结合起来看。

这篇文章没有谈 Launcher 的界面、设计和翻译,因为我怕吐槽起来没个完。最后这里简单说两句:你看它界面,没什么设计感,iOS 感都很弱;再看它设计,有几个软件会把设置选项里放那么多没用的干扰用户的按钮,跟 Tweetbot 的设置界面对比下;最后看看翻译,

所以,实用性,Launcher 是有的,但囿于 iOS 的通知中心目前糟糕的表现,比如每次拉出会刷新一下、反馈不及时、容易安错等,Launcher 的实用性也大打折扣。而在整体设计上,Launcher 难说及格。

其实我一直想知道的还是 Launch Center Pro 开发者知道 Launcher 满血复活以后什么感受,是不是满脑子问号然后一口老血吐键盘上。

转自: http://jbguide.me/2015/03/21/launcher/

时间: 2024-10-26 16:43:53

【Launcher 教程】从 URL Schemes 入门到用 Launcher 调用各效率软件的相关文章

iOS开发:内置URL schemes

 在IOS的应用中经常会看到一些应用程序通过某个点击动作而直接跳到App Store页面,开始很奇怪这种第三方应用于IOS的系统应用交互时怎么实现的.后来发现苹果的开发者文档中关于这种通信的实现是默认支持的,只要第三方 的应用符合规范即可,这里的规范就是指接下来我们要简单介绍的东西--URL Schemes. 根据规定,IOS中支持几种特殊的URL schemes,第三方的本地应用程序和运行在Safari的Web应用程序,通过这些URL schemes可以与IOS的系统应用进行整合,为的是为用户

iOS系统关于URL Schemes的漏洞探究

iOS系统关于URL Schemes的漏洞探究 一.何为URL Schemes     我想这个东西的设计的目的是为了方便App之间的相互调用与通讯,你可以在自己的App中使用OpenURL方法来唤起其他的App.比如微信的URL Schemes是wiexin,我们新建一个工程,实现如下代码后运行程序: ? 1 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"weixin://]]; 这时你会发现,你的应用启动后很

Asp.Net MVC2.0 Url 路由入门

     本篇文章是初识Asp.Net MVC2.0 的后续的介绍.此文将从Routing未开放源代码开始,还会对Asp.Net的Url重写技术做个简单介绍.并简单介绍Asp.Net MVC2.0 Url路由技术的使用.      Url路由是MVC很重要的核心的一部分.不过它是单独于MVC项目,而且没有开源.它作为微软的一个独立的项目抽取了出来,在Asp.Net MVC中只是引用了这个dll.新建一个MVC Web项目,打开Global.asax.我们看到系统帮我们添加了using Syste

Asp.Net MVC2.0 Url 路由入门---实例篇

     本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术.      接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的View的呢?Controller和Action是怎么解析的?这就是Routing组件干的事情了.      Routing的作用:它首先是获取到View传过来的请求,并解析Url请求中Controller和Action以及数据,其次他将识别出来的数据传递给Controller的Ac

WCF基础教程之开篇:创建、测试和调用WCF

原文:WCF基础教程之开篇:创建.测试和调用WCF 一转眼,又半个月没有更新博客了.说实话,最近确实是有点忙.不过即使再忙忙,也要抽空来学习一些东西.最近用WCF比较多,就来跟大家分享一下关于WCF的知识吧!为了让大家都能看懂,照顾一些没有学过WCF的原有,就从最基础的东西写起,希望大家可以体谅.  一.创建一个简单的WCF服务   打开VS2013,新建Silverlight项目,名字自己随便起,并创建Web站点,创建完项目后,我们在Web项目中添加一个WCF服务,名字输入UserServic

url 跳转 资源-java 如何通过Request获取的url定位到对应的资源调用相应的方法??求解答。。。

问题描述 java 如何通过Request获取的url定位到对应的资源调用相应的方法??求解答... 通过Request获取到了url,是通过什么机制跳转到相应的方法?通过这个url能对应到具体的资源吗 解决方案 看你的web.xml中的配置 <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>方法所在的包名.方法名</servlet-class></servlet

【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

原文:[ASP.NET Web API教程]3.3 通过WPF应用程序调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 3.3 Calling a Web API From a WPF Application (C#) 3.3 通过WPF应用程序调用Web API(C#) 本文引自:http://www.asp.net/web-api/overview/web-api-clients/calling-a-we

ASP入门教程 1小时ASP入门,非常简单

教程|入门教程|入门教程 <% 语句 -- %><2>定义变量dim语句<% dim a,b a=10 b="ok!"%>注意:定义的变量可以是数值型,也可以是字符或者其他类型的<3>简单的控制流程语句 1. If 条件1 then 语句1elseif 条件2 then 语句2else 语句3endif2.while 条件 语句 wend3.for count=1 to n step m 语句1 exit for 语句2next 二.AS

PHP开发框架Yii Framework教程(5) URL管理

在上一篇Yii Framework 开发简明教程(4) Hangman 猜单词游戏实例略去了几个方面的问题,一是配置文件main.php 的 URLManager,二是Controller的基类CComponent ,三是定义View使用的CHtml帮助类.本篇战开介绍URLManager,URL管理. return array( ... 'components'=>array( 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>