问题标签 [ios-shortcut]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在快捷方式中使用“从列表中选择”(选择多个)发布 JSON 列表 []
这是用于测试 JSON 列表的JSON 数组快捷方式示例(在测试环境中使用有效的 API 令牌)。
通过快捷方式有一些“快速查看”和漂亮的打印字典操作,以便于阅读。
理想模型
使用“从列表中选择”操作,快捷方式用户从显示的列表中tags
选择project
. 用户可以tags
从列表中选择多个(选择多个已启用)。然后,快捷方式执行“获取 URL 内容”操作以发送带有 JSON“请求正文”的 POST 请求。三个主要键是:(pid
项目 ID)作为数字、created_with
字符串和tags
数组:
发送“选择的项目”数组
如果我将(从“从列表中选择”操作中选择的项目数组)中tags
的值发送到“获取内容”操作,快捷方式会解释该列表。Chosen Item
不是将列表作为字符串数组传递(如上面理想示例中所列),而是作为单个字符串传递,列表项由换行符分隔\n
:
注意:快捷方式示例使用“获取内容”操作来返回所有标签(包括通过发回这些长字符串创建的新标签),因此标签的选择已经过硬编码以便于使用。
如果用户选择并发送单个标签(例如bar2
),则没有额外的修改(因为没有添加额外的新行),并且数组按预期构建(例如"tags": [ "bar2" ]
)。
发送“组合文本”“构建”数组
为了规避这一点,我尝试了“组合”和“文本”操作的组合来制作我自己的数组。
如果我这样做,Shortcuts 将获得“快乐逃脱”,结果选择三个标签如下:
沿着“转义双引号”的路径是疯狂(\\\",\\\"
)并将双引号更改为单引号将结果数组作为字符串发送:
这导致我查看“获取内容”操作的“请求正文”,因为在数组之前添加了双引号。'Get contents of' 动作有tags
一个数组。
如果您深入研究tags
数组项(在“获取内容”操作中),我可以添加的选项是文本、数字、数组、字典或布尔值。选择数组会在这个数组中创建一个数组(不是我想要的,它已经是一个数组),所以文本是最好的选择。这就是我挑出双引号的来源。知识就是力量。
从输入中获取字典
我还尝试使用“从输入获取字典”操作将数组转换为字典,将其解析为变量,然后将其放入“获取内容”操作请求中。我可以看到这项工作的唯一方法是,如果我通过“从输入获取字典”操作转换和构建所有请求正文,因为请求正文已经是“字典”类型 - 将文本项添加到字典会添加文本的键值对(我不能放入字典或数组)。
在“获取内容”操作中列出单个标签
我能想到的唯一其他解决方法是让“For Each”操作将每个选定的标签保存为一个单独的变量,并将每个标签传递到tags
.
将每个变量添加到单独的变量中以作为tags
数组下的文本列出似乎既麻烦又脆弱。如果可以使用“动态变量”,则ChosenTag_n
可以在其中使用n
所选标签的索引。现在,一个示例被硬编码在一个 biiiig 嵌套的 'If' 动作中(哦,不)。
从好的方面来说,这确实有效:
ChosenTag_n
...但是,如果“选择的项目”>变量数,它将“丢失数据” 。我还刚刚在单数变量中创建了自己的数组,并嵌套了“If”语句。双重叹息。
可能的解决方案和 TL;DR
理想情况下,从“从列表中选择”操作中选择的(多个)项目应格式化为数组,并且“获取内容”操作应按预期接受并解析数组。
我试图避免创建或写入文件,以及避免创建自己的自定义“请求正文”。
我只发现了关于同一主题的另一篇文章(Reddit) (现已存档)。
快捷方式是否无法正确解析数组/这是 iOS 14 解决和修复的问题,或者(更有可能)我是否马铃薯并且我错过了格式化数组的一些关键内容?
ios - iOS 快捷方式:将 SELECT SQL 语句中的结果文本转换为字典以供进一步使用
我正在使用 iOS Shortcuts 应用程序与 SQL Server 进行通信。我可以做一个SELECT
声明并在 Shortcuts 应用程序中获取结果,格式为文本,类似于:
有没有办法可以将其转换为字典对象,然后允许用户从该字典中选择一个名称并获得相应的 ID?
ios - 尝试使用正则表达式匹配使用 iOS 快捷方式的 iOS 电话号码
我正在创建一个 iOS 快捷方式,首先检查剪贴板当前是否包含复制的电话号码。
到目前为止,我的正则表达式如下:
尽管使用电话键盘输入常规电话号码时,例如+972 12-345-6789
,它工作得很好;似乎直接从默认Phone
应用程序复制时,它没有找到它作为匹配项。
我应该提一下,经过一段时间的挖掘,似乎从电话应用程序复制的电话号码与一些额外的特殊字符相关联Left-To-Right Embedding
。使用 Unicode 解码器给了我以下字符串:
我什至不确定这是否是原因,但它可能与它有某种联系。如果是这样 - 有什么方法可以iOS Shortcuts
用来将剪贴板文本解码为 Unicode 格式并删除那些额外的字符?如果两者之间没有联系,还有什么问题?
ios - 在 React Native 中实现 iOS 意图时如何解决“发生未知错误”?
我正在尝试在我的 ReactNative 应用程序中实现 iOS 应用程序内意图,但该应用程序甚至没有访问handlerFor intent
AppDelegate 中的方法。
在快捷方式应用程序中,我可以选择新的快捷方式,但是,当我尝试更改动态参数时,出现An unknown error occurred
错误。
在没有 React Native 的情况下,在干净的 swift 项目中也有同样的意图和工作。
我在这上面花了几天时间。真的需要帮助。谢谢 :)
javascript - 将 npm 包(概念 js sdk)转换为可在 iOS 脚本中使用的普通 js
我最近开始了将我使用过的一些技术整合在一起的旅程。即 Node、Notion 和 iOS 快捷方式。
随着概念 api 的发布,我想创建自己的自定义快捷方式来满足自己的需求。
我发现 iOS 上的 Scriptable 可以让你运行 JavaScript,这意味着如果我能够以某种方式获得一个更简单的 js 形式的节点模块(例如不使用 require),那么我可以在脚本上运行它,因此我的旅程已经开始了。
到目前为止,我已经发现了 browserify,并且有人创建了一种尝试将 browserify 用作服务网站的方法,但它现在似乎已经关闭。
我尝试使用独立标志运行 browserify,但它无法执行,因为 browserify 将包暴露在全局命名空间(例如窗口)内,因为它打算在浏览器上运行。
如果有人可以提供能够将概念 sdk 转换为可以导入脚本的东西的指针,我将不胜感激。
ios - 如何在快捷方式应用程序中深度链接到自动化?
应用程序如何直接链接到快捷方式应用程序的自动化选项卡?
以下是一份用户指南,其中包含一些有关深度链接到快捷方式应用程序的信息
https://support.apple.com/guide/shortcuts/open-or-search-the-gallery-from-a-url-apd9c112ca23/ios
运行以下代码将深层链接到快捷方式应用程序库
ios - 将值输入计算器的 iOS 快捷方式
长话短说,我正在尝试创建一个 iOS 快捷方式并将其显示在计算器中。
我让指令正常工作,然后我的号码显示在警报中,但我不知道如何将号码输入计算器!
ios - 我可以制作一个更改 Messenger 应用程序照片访问设置的 IOS 快捷方式吗?
我正在尝试为 IOS 设备创建一个快捷方式,该快捷方式可以转到信使应用程序的设置并进行更改。我知道我可以创建一个使用其捆绑 ID 转到信使设置的 URL,但是如何直接访问“允许访问照片”甚至更改“照片访问”信使设置。
我试过“ prefs:root=com.facebook.Messenger&path=Photos ”和“ prefs:root=Photos&path=com.facebook.Messenger ”。
第一个只打开信使的应用程序设置,但不打开照片访问设置,第二个只打开照片应用程序设置。
我应该使用什么 URL 来直接打开 Messenger 的照片访问设置,或者如何创建快捷方式来更改它?