Tag: 快捷方式

ServiceNow和Siri快捷方式应用程序

作为苹果的忠实粉丝,我热切期待iOS 12的发布。随着iOS 12的发布,苹果推出了Siri Shortcuts应用程序,该应用程序允许任何人创建“ Shortcut ”:一系列可以与第三方应用程序(iOS)交互的步骤设备和Siri。 接触到该应用程序后,我发现Shortcuts和ServiceNow的Flow Designer之间有很多相似之处。 快捷方式中的步骤可以排序,并且它们的输入和输出(“魔术变量”)类似于Flow Designer中的“数据丸”。 快捷方式应用程序具有许多易于使用的“动作”,这些立即使我想起Flow Designer的“辐条”。 在“快捷方式”应用程序中,存在许多“开发人员”或“高级”用户操作。 在看到一些高级操作(例如“获取URL的内容”和“从输入获取字典”)后,我想知道是否可以将快捷方式链接到ServiceNow? 在短时间内,我能够创建一个非常有用的快捷方式。 快捷方式使用Siri指令创建ServiceNow事件。 然后,它回读通过表REST API创建的事件编号。 这显然是概念的快速证明,但是很明显,可能性是无限的。 无需代码,您就可以获取本地设备数据(例如位置或系统IP地址),然后将该数据传递给REST API,然后将结果解析回语音文本。 有待改进的地方包括使用API​​密钥而不是用户名/密码变量,甚至使用ServiceNow在伦敦发布的新Chat框架。 对于任何有兴趣的人,这里是捷径。 您所需要做的就是下载iOS应用程序“快捷方式”并安装它。 安装后,添加您的实例,用户名和密码。 我很高兴看到社区在这里提出了什么聪明的主意。 试试看! 快捷方式用户指南 Apple产品文档 support.apple.com

Xcode 9快捷键

命令键 (⌘)+ 0:打开/关闭项目浏览器 命令键 (⌘)+ 选项键 (⌥)+0:打开/关闭文件检查器 命令键 (⌘)+ Shift + Y:打开/关闭Xcode控制台 命令键 (⌘)+ B:构建项目 Command键 (⌘)+ Shift + K键:清理项目 选项键 (⌥)+ 命令键 (⌘)+ Shift + K:清除构建文件夹 删除派生数据:Xcode>首选项>位置选项卡>派生数据>单击箭头按钮 打开“派生数据”>“删除两个文件夹”

咖啡时间中的“远程”和快捷电话!

! 仅在尚未发布的1.26版本中可用,但是您可以加入我们的 Beta 。! 您可以致电咖啡时间! 剪贴板上的魔法或通过x-callback-url从外部“访问”应用程序。 第一个在打电话给“ Time for Coffee”时特别有用! 在“快捷方式”应用中使用“咖啡时间”创建自己喜欢的快捷方式! 不幸的是,Apple尚未实现对Shortcuts应用程序中的任何应用程序采取真正有用的操作的方法。 有一种方法可以通过x-callback-url操作,但是可以快速打开要调用的应用程序,这很烦人,如果您从Siri调用它,则完全没有帮助。 所需的五个步骤 诀窍是通过剪贴板。 您将参数添加到字典中。 将其复制到剪贴板,然后调用Time for Coffee的“从以下复制到剪贴板”操作! 然后再次从剪贴板获取它,并将其转换回字典以供以后使用。 这需要左侧图片中显示的5个步骤(您也可以在剪贴板操作中启用“ localOnly”,对我们来说并不重要) 很复杂,但为我们提供了很多输入和输出的可能性。 当然,您也可以先保留原始剪贴板,然后再还原,以备不时之需。 在调用之后和之前,您可以随意设置,请参阅下面的“咖啡时间!”操作所用的所有参数,以及最后要下载的更复杂的示例。 基本上有两种方法,“车站”和“出发”方法。 station方法将信息(例如位置,名称和ID)返回到最近的工作站。 然后,“出发”方法将返回此类站点的下一个出发点(可以通过站点ID或位置来定义)。 如果要在以后离开,也可以定义“时间”参数。 最后的示例将计算到达下一个最近车站的时间,仅返回您实际可以到达的下一个出发点。 并告诉您何时必须离开。 您也可以使用快捷方式在更远的车站返回下一个出发点。 例如,如果您知道,到主要车站通常需要20分钟,请创建一条快捷方式,该快捷方式仅会在20分钟内返回该车站的下一个出发点。 请看下面的示例,以提示如何完成此操作。 而且,如果您将快捷方式添加到Siri,您甚至可以询问Siri,她将使用快捷方式的输出进行回答。 将信息返回到最近的电台。 如果附近有喜欢的车站,那就接住它。 如果给出了lat和lon ,它将以此作为搜索的位置。 样本回复: { “ id”:“ 8591195”,//工作站的ID “ name”:“Zürich,Höfliweg”,//车站名称 “ nameCityAfter”:“Höfliweg(苏黎世)”,//随后是城市的名称 “ latlon”:“ 47.367945,8.511037”,//站的坐标 “ yourLatlon”:“ 47.36547302033931,8.512348474672331” //用于搜索的位置(如果未设置为经纬度参数,则为当前位置) […]

使用JavaScript和快捷方式JS创建iOS 12快捷方式

我创建了一个库,可让您使用JavaScript创建快捷方式。 您可以在npm上以@ joshfarrant / shortcuts-js找到它,并在GitHub上找到文档。 注意:这篇文章中的某些图像仅将快捷方式js称为库,但是实际上可以在 @ joshfarrant / shortcuts-js中 找到该库 。 自从今年早些时候与iOS 12一起发布Shortcuts以来,我一直在花很多时间玩Shortcuts应用程序。 我很喜欢创建快捷方式来执行诸如在家中的控制设备之类的事情,将我的睡眠记录到Health应用程序中,并自动记录我的通勤周期并在上班时设置我的Slack状态。 快捷方式应用程序使您可以轻松地直接进入并开始构建功能强大的工作流程来帮助自动化您最常做的事情,但这并不完美。 使用“快捷方式”应用程序几周后,我开始看到“快捷方式”构建界面在哪里崩溃了。 大型快捷键的修改或重构变得很麻烦,尤其是在iPhone上,因为将十几个动作从一个点拖到另一个位置既费时又容易出错。 而且,没有简单的方法可以复制动作块或批量修改它们。 最后,这可能只是因为我正在测试中,所以可能会有一些错误。 作为开发人员,这开始让我感到沮丧。 在我的脑海中,“快捷方式”应用程序中的动作等同于代码行,因此,我渴望能够将常用的动作块组合为更大的功能,并在参数稍有不同的地方重用它们。 这些挫败感使我开始思考。 “快捷方式”应用程序只是一个旨在简化编写代码过程的界面,所以为什么我不能只掏出中间人自己编写代码? 我开始考虑在“快捷方式”应用程序中进行挖掘,以试图弄清快捷方式的结构,以及如何开始在“快捷方式”应用程序之外生成它们。 为什么我不能直接切开中间人并自己编写代码? 我想看的第一处是iCloud Shortcut共享服务。 我希望用来共享快捷方式的URL可能实际上包含一些编码的数据,然后在应用程序导入时将其解码。 不幸的是,很快,URL中的字符串只是一个标识符,而与快捷方式的内容毫无关系,因此我需要在其他地方查找。 几天过去了,当我滚动浏览“快捷方式”列表时,我注意到几周前我下载了一份快捷方式。 通过此快捷方式,您可以将快捷方式备份到iCloud,如果应用程序的数据库遭到损坏,这可能会很有用。 您将备份“快捷方式”,如果发生最坏的情况,则可以将这些文件重新导入“快捷方式”应用程序,一切都会恢复正常。 当然,这些文件必须包含构建快捷方式所需的所有信息。 我运行了备份,在文本编辑器中打开了一个快捷方式,这就是我的初衷。 可读性不强,但是我越来越近了! 首先,我们可以看到从WF开始有许多对属性的引用,自从应用程序作为Workflow出现以来,这些引用就没有明显变化。 另外,从第一行我们可以看到这实际上是一个bplist文件,这是一个二进制属性列表,在Apple生态系统中非常常见。 我将文件扩展名从.shortcut更改为.bplist,然后再次尝试在XCode中打开文件。 🎉 这就是构成快捷方式的所有信息! 我们可以看到用于设置图标的属性,快捷方式接受的输入以及(最重要的是)快捷方式的操作。 为了使内容更具可读性,我使用bplist-parser将bplist转换为JSON。 在这里,我们有一系列非常简单易懂的动作。 每个动作都有一个字符串标识符WFWorkflowActionIdentifier ,以及一个对象/参数字典WFWorkflowActionParameters 。 这些属性是到目前为止我所见过的所有“快捷方式”操作所共有的,并且是定义操作所需的唯一属性。 从这里开始,只需探索其他动作的属性,以及如何处理更复杂的交互(例如在动作中使用变量,以及将动作嵌套在If和Repeat等块内)就可以了。 现在,我已经有了一个用于快捷方式的基本模板,我可以开始编写一些代码来为我生成这些模板。 我从简单开始,编写了一个快速的Node脚本以生成将两个数字加在一起的快捷方式。 经过一些工作,这就是完整的生成的快捷方式的样子。 将这个JSON转换为bplist后,我将它空投到了iPhone上,很高兴看到它可以工作! 现在我有了概念证明,我可以开始构建库了。 我决定选择TypeScript,因为它为像这样的非常结构化的库提供了完美的类型安全性。 […]

Xcode和Swift开发的备忘单示例

备忘单可以是从紧凑的概述中快速引用Xcode,Swift或iOS逻辑的便捷工具。 理想情况下,您可以将它们打印出来并放在桌子上。 这使得经常访问和使用它们变得非常容易。 因此,我将向您展示一些有用的备忘单,您可以在开发过程中使用这些备忘单。 断言,前提条件或致命错误 Marcin Krzyzanowski创建了一篇很棒的博客文章,名为Swift断言-缺少有关assert,precondition和fatalError之间差异的手册。 他解释了它们中的每一个,以及在没有连接调试器的生产应用程序中使用它们时,对终止产生的影响。 备忘单 确保在他的博客文章中检查Marcin的原始版本。 Xcode捷径 存在许多Xcode备忘单。 有些只是一大堆快捷方式,例如ShortcutFoo中的快捷方式,而另一些则更直观,可以打印出来。 就个人而言,我喜欢使用Craig Grummitt的工具,它非常直观,涵盖了Xcode 10中的大多数基本快捷方式。 GIT备忘单 GIT是我们每天用来管理版本控制的工具,如果您是终端GIT用户,有时可能很难记住所有命令。 因此,使用GIT塔提供的GIT备忘单非常方便。 对于那些不经常使用的命令,它特别方便。 此外,还值得一提的是他们的Xcode备忘单。 更多Xcode快捷方式 如果您想了解有关Xcode快捷方式的更多信息,可以查看我的博客文章Xcode的快捷方式要点,以加快工作流程。 最初发表于 SwiftLee 。 更多帖子和更新: @twannl