问题标签 [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.

0 投票
1 回答
1719 浏览

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 解决和修复的问题,或者(更有可能)我是否马铃薯并且我错过了格式化数组的一些关键内容?

0 投票
1 回答
46 浏览

ios - iOS 快捷方式:将 SELECT SQL 语句中的结果文本转换为字典以供进一步使用

我正在使用 iOS Shortcuts 应用程序与 SQL Server 进行通信。我可以做一个SELECT声明并在 Shortcuts 应用程序中获取结果,格式为文本,类似于:

有没有办法可以将其转换为字典对象,然后允许用户从该字典中选择一个名称并获得相应的 ID?

0 投票
1 回答
68 浏览

ios - 有没有办法按宽高比过滤 iOS Shortcuts 照片?

有没有办法按宽高比过滤 iOS Shortcuts 照片?

我有一个快捷方式,可以在应用最近 12 个月的收藏夹后找到一张随机照片。我只想有垂直方向的照片,但纵横比不是一个选项。宽度和高度是选项,但过滤器似乎不允许我比较宽度小于高度的两者。目前我正在使用小于宽度的硬编码,如果照片分辨率发生变化,它将无法长期工作。在此处输入图像描述

0 投票
2 回答
348 浏览

ios - 尝试使用正则表达式匹配使用 iOS 快捷方式的 iOS 电话号码

我正在创建一个 iOS 快捷方式,首先检查剪贴板当前是否包含复制的电话号码。

到目前为止,我的正则表达式如下:

尽管使用电话键盘输入常规电话号码时,例如+972 12-345-6789,它工作得很好;似乎直接从默认Phone应用程序复制时,它没有找到它作为匹配项。

我应该提一下,经过一段时间的挖掘,似乎从电话应用程序复制的电话号码与一些额外的特殊字符相关联Left-To-Right Embedding。使用 Unicode 解码器给了我以下字符串:

我什至不确定这是否是原因,但它可能与它有某种联系。如果是这样 - 有什么方法可以iOS Shortcuts用来将剪贴板文本解码为 Unicode 格式并删除那些额外的字符?如果两者之间没有联系,还有什么问题?

0 投票
0 回答
44 浏览

ios - 在 React Native 中实现 iOS 意图时如何解决“发生未知错误”?

我正在尝试在我的 ReactNative 应用程序中实现 iOS 应用程序内意图,但该应用程序甚至没有访问handlerFor intentAppDelegate 中的方法。

在快捷方式应用程序中,我可以选择新的快捷方式,但是,当我尝试更改动态参数时,出现An unknown error occurred错误。

在没有 React Native 的情况下,在干净的 swift 项目中也有同样的意图和工作。

我在这上面花了几天时间。真的需要帮助。谢谢 :)

handlerFor intent带有方法的 AppDelegate 文件

点击动态意图参数错误

0 投票
0 回答
24 浏览

javascript - 将 npm 包(概念 js sdk)转换为可在 iOS 脚本中使用的普通 js

我最近开始了将我使用过的一些技术整合在一起的旅程。即 Node、Notion 和 iOS 快捷方式。

随着概念 api 的发布,我想创建自己的自定义快捷方式来满足自己的需求。

我发现 iOS 上的 Scriptable 可以让你运行 JavaScript,这意味着如果我能够以某种方式获得一个更简单的 js 形式的节点模块(例如不使用 require),那么我可以在脚本上运行它,因此我的旅程已经开始了。

到目前为止,我已经发现了 browserify,并且有人创建了一种尝试将 browserify 用作服务网站的方法,但它现在似乎已经关闭。

我尝试使用独立标志运行 browserify,但它无法执行,因为 browserify 将包暴露在全局命名空间(例如窗口)内,因为它打算在浏览器上运行。

如果有人可以提供能够将概念 sdk 转换为可以导入脚本的东西的指针,我将不胜感激。

0 投票
0 回答
95 浏览

ios - 如何在快捷方式应用程序中深度链接到自动化?

应用程序如何直接链接到快捷方式应用程序的自动化选项卡?

以下是一份用户指南,其中包含一些有关深度链接到快捷方式应用程序的信息

https://support.apple.com/guide/shortcuts/open-or-search-the-gallery-from-a-url-apd9c112ca23/ios

运行以下代码将深层链接到快捷方式应用程序库

0 投票
1 回答
17 浏览

ios - 将值输入计算器的 iOS 快捷方式

长话短说,我正在尝试创建一个 iOS 快捷方式并将其显示在计算器中。

我让指令正常工作,然后我的号码显示在警报中,但我不知道如何将号码输入计算器!

0 投票
0 回答
23 浏览

ios - 我可以制作一个更改 Messenger 应用程序照片访问设置的 IOS 快捷方式吗?

我正在尝试为 IOS 设备创建一个快捷方式,该快捷方式可以转到信使应用程序的设置并进行更改。我知道我可以创建一个使用其捆绑 ID 转到信使设置的 URL,但是如何直接访问“允许访问照片”甚至更改“照片访问”信使设置。

我试过“ prefs:root=com.facebook.Messenger&path=Photos ”和“ prefs:root=Photos&path=com.facebook.Messenger ”。

第一个只打开信使的应用程序设置,但不打开照片访问设置,第二个只打开照片应用程序设置。

我应该使用什么 URL 来直接打开 Messenger 的照片访问设置,或者如何创建快捷方式来更改它?