iPadOS14以及iOS14中快捷指令在小组件中运行卡住
当在小组件中运行带有“运行快捷指令”指令的快捷指令时,其小组件中的运行进度条会变为一个信息提示符号并卡住。
举例:快捷指令A内容如下
快快捷指B内容如下:
因此运行“快捷指令A”时,其流程应该为:
- 快捷指令A启动
- 快捷指令B被快捷指令A启动
- 快捷指令B将音量设定为50%
- 快捷指令B结束
- 快捷指令A结束
在快捷指令app中运行“快捷指令A”时,按上述运行流程一切正常,“快捷指令A”可以正常结束,但在小组件中运行时,快捷指令A会卡在右上角显示一个信息提示标志的状态,需要手动连续点击其两次才能使其进度条完成,卡住的状态如下图所示:
我看过“复杂快捷指令有可能会导致小组件内存耗尽而无法正常运行”的说明文档,但是我不认为我遇到的情况是因为内存耗尽导致的,因为我发现了一个可以解决小组件中“快捷指令A”卡住的方式,即在“快捷指令A”中添加一个“从菜单中选取”指令。
“修改后的快捷指令A”内容如下:
“快捷指令B”不变
因此新的快捷指令AB组合运行流程如下:
- 修改后的快捷指令A启动
- 快捷指令B被“修改后的快捷指令A”启动
- 快捷指令B将音量设定为50%
- 快捷指令B结束
- 修改后的快捷指令A执行“从菜单中选取”指令,弹出菜单
- 使用者选取菜单后,修改后的快捷指令A结束
在实际测试中,在小组件中运行“修改后的快捷指令A”,在菜单弹出之前,“修改后的快捷指令A”按钮右上角仍然有一个信息提示标志,但是在菜单弹出,使用者在弹出窗口选择完成后,“修改后的快捷指令A”按钮右上角显示对号,之后快捷指令正常结束。
个人猜测是由于快捷指令小组件导致在运行“嵌套其他快捷指令”的快捷指令时,对于快捷指令运行状态以及是否运行完成无法及时获知,因此添加一个“从菜单获取”指令,相当于帮助小组件刷新正在运行的快捷指令的状态,使得快捷指令可以顺利结束。
在发现这个问题后,我没有找到直接反馈快捷指令app的方式,也不能确定这个问题是因为我的快捷指令写法错误导致的还是小组件本身导致的,因此将我的问题发到这里。
举例用到的快捷指令链接:
快捷指令A:https://www.icloud.com/shortcuts/5e9517aecf994b77ae00fdb6773ebeb9
快捷指令B:https://www.icloud.com/shortcuts/aed6a8a0ea0946768beeb5988adba6a4
修改后的快捷指令A:https://www.icloud.com/shortcuts/58570297e4b34ef096518155e66d8d66
[经过版主编辑]
iPad Pro 11-inch Wi-Fi