iOS快捷指令开发文件结构参考文档

快捷指令的文件结构

快捷指令从 iOS 快捷指令应用程序导出,.shortcut在 iOS 14 及更高版本中使用.shortcuts扩展程序,或在 iOS 13 中使用扩展程序。从工作流应用程序导出的工作流使用.wflow扩展程序。

快捷指令和工作流文件的格式大部分相同——从 Workflow 应用程序到 Apple 的 iOS 快捷指令应用程序,文件格式似乎没有改变。许多键和值仍然带有前缀WFWorkflow

在 iOS 15 之前,该文件采用二进制属性列表格式。可以通过将文件传输到 Mac 并将文件扩展名更改为 来查看其内容,.plist然后可以在 Xcode 或其他支持的应用程序中查看。

从 iOS 15 开始,这些文件现在已被签名,因此无法轻松打开和解析它们。从这一点开始的信息描述了签名前最后已知的文件格式。

  • WFWorkflowClientVersion:代表用于创建工作流的客户端应用程序版本的数字(例如 700)。
  • WFWorkflowClientRelease:表示用于创建工作流的客户端应用程序的发布语义版本的字符串(例如“1.7.8”或“2.0.0”)。似乎不再出现在最近的 iOS 14 版本中。
  • WFWorkflowMinimumClientVersion:一个可选的整数,表示运行工作流所需的最低客户端应用程序版本(例如 411)
  • WFWorkflowMinimumClientVersionString:可选的字符串表示形式WFWorkflowMinimumClientVersion
  • WFWorkflowName:工作流的可选字符串名称。如果不存在,将使用导入的工作流程的文件名
  • WFWorkflowImportQuestions:导入快捷指令时询问用户的一系列问题字典,每个包含:
    • ActionIndex:一个整数,表示快捷指令中操作的索引(WFWorkflowActions数组索引)
    • Category: 一个字符串,通常Parameter
    • DefaultValue:如果用户未提供值,则使用的字符串或布尔值
    • ParameterKey: 在给定的动作字典中用用户的答案填充的字典键
    • Text:为了填充操作的参数值而呈现给用户的问题/提示
  • WFWorkflowIcon: 字典包含:
    • WFWorkflowIconStartColor:代表快捷指令图标颜色的数字,见下文。
    • WFWorkflowIconImageData: 数据
    • WFWorkflowIconGlyphNumber: 一个号码
  • WFWorkflowInputContentItemClasses: 字符串数组,代表接受的输入内容类型
    • WFAppStoreAppContentItem
    • WFArticleContentItem
    • WFContactContentItem
    • WFDateContentItem
    • WFEmailAddressContentItem
    • WFGenericFileContentItem
    • WFImageContentItem
    • WFiTunesProductContentItem
    • WFLocationContentItem
    • WFDCMapsLinkContentItem
    • WFAVAssetContentItem
    • WFPDFContentItem
    • WFPhoneNumberContentItem
    • WFRichTextContentItem
    • WFSafariWebPageContentItem
    • WFStringContentItem
    • WFURLContentItem
  • WFWorkflowTypes: 一个字符串数组,代表工作流的可用使用类型,一个或多个
    • MenuBar:“保留在菜单栏中”(macOS Monterey / iOS 15)
    • QuickActions:“用作快速操作”(macOS Monterey / iOS 15)
    • ActionExtension: “在分享表中显示”
    • NCWidget: “在[通知中心]小部件中显示”
    • Sleep:“在睡眠模式下显示”(iOS 14)
    • WatchKit:表示 Apple Watch 在某些 iOS 14 版本、某些 iOS 12 测试版和旧的 Workflow 应用程序中可用。在 iOS 13 中不受支持,尽管所有新的快捷指令都默认包含此字符串。
    • Watch:“在 Apple Watch 上显示”——表示 Apple Watch 在最近的 iOS 14 版本(及更新版本)中的可用性,似乎取代了WatchKit.
  • WFWorkflowActions:动作数组,每个动作的格式为:
    • WFWorkflowActionIdentifier:一个动作标识符字符串,以反向域名表示法格式化,例如is.workflow.actions.address
    • WFWorkflowActionParameters: 参数数组 [String | 编号 | Dictionary], 每一个标识符和一个值

快捷指令图标使用的颜色

快捷指令图标的颜色存储为 RGBA-8 数字。例如,转换存储值会显示格式中4282601983的 8 位十六进制颜色。FF4351FF``RRGGBBAA

当在 Mac 上编辑的快捷指令在 iOS 上打开时,快捷指令似乎不支持自定义图标颜色——颜色将默认为灰色。

在 iOS 12 上,此颜色用作图标渐变的起始颜色。在 iOS 13 和 14 上,整个快捷指令图标现在以这种颜色绘制。

快捷指令中可用的颜色及其各自的值(可能会更改):

  • 红色:0xFF4351FF/4282601983
  • 深橙色:0xFD6631FF/4251333119
  • 橙色:0xFE9949FF/4271458815
  • 黄色:0xFEC418FF/4274264319
  • 绿色:0xFFD426FF/4292093695
  • 蓝绿色:0x19BD03FF/431817727
  • 浅蓝色:0x55DAE1FF/1440408063
  • 蓝色:0x1B9AF7FF/463140863
  • 深蓝色:0x3871DEFF/946986751
  • 紫色:0x7B72E9FF/2071128575
  • 紫色:0xDB49D8FF/3679049983
  • 深灰色:0x000000FF/255
  • 粉色:0xED4694FF/3980825855
  • 灰褐色:0xB4B2A9FF/3031607807
  • 灰色:0xA9A9A9FF/2846468607

导入大于客户端版本的快捷指令

在快捷指令中,导入WFWorkflowMinimumClientVersion大于客户端版本的文件将导致警告对话框,如下所示。导入的文件可以复制或删除,但不能编辑或执行。

快捷指令格式太新

无法打开此快捷指令,因为它是在较新版本的“快捷指令”应用程序上创建的。

更新快捷指令 [打开 App Store] | 好的

快捷指令的URL Scheme

大多数快捷指令URL Scheme与工作流相同,并且可以通过将“快捷指令”替换为“工作流”来互换使用,反之亦然。

有关更多信息,请参阅Apple 快捷指令用户指南中高级快捷指令下的“使用 URL 方案”部分

  • 从 URL 导入快捷指令:shortcuts://import-shortcut/?url=[url]&name=[name]
    • 参数:
      • url: 文件下载地址
      • 名称(可选):快捷指令的名称,默认为快捷指令文件名
      • silent (optional):true在不打开快捷指令的情况下导入,false默认打开并向用户显示快捷指令
    • 例子:shortcuts://import-shortcut/?name=Awesome%20Shortcut&url=https%3A%2F%2Fdownloadwebsite.com
  • 运行快捷指令:shortcuts://run-shortcut
    • 查询参数:
      • 名称:快捷指令的字符串名称
      • input(可选):初始输入快捷指令,文本字符串或单词clipboard以使用剪贴板的内容
    • 例子:shortcuts://run-shortcut/?name=Shortcut%20to%20Run
    • 笔记:
      • 添加到主屏幕的快捷指令倾向于使用带有额外参数的 URL id(快捷指令的内部 UUID)和source,它总是homescreen.
  • 打开快捷指令:
    • shortcuts://将应用程序启动到上次使用的状态
    • shortcuts://create-shortcut创建一个新的快捷指令
    • shortcuts://open-shortcut?name=[name]将应用程序打开到给定名称的快捷指令

其他记录

  • 上一个 Workflow 版本是 1.7.8
  • 第一个快捷指令版本号是 2.0.0(iOS 12)
  • 捷径 3.0.0 随 iOS 13 一同发布
  • 最近的 iOS 14 版本现在报告格式为 10xx.x.xx 的版本

来源:https://github.com/sebj/iOS-Shortcuts-Reference

(2)
上一篇 2023/01/05 01:05
下一篇 2023/01/20 10:12

捷径推荐

发表回复

登录后才能评论
微信加群

m9521(at)qq.com

关注公众号