标签: sirishortcuts

将ISO 8601日期和时间字符串转换为日期

我想将日期字符串从ISO 8601格式(由“格式日期”块正确生成)转换回可用日期。我尝试使用“从输入获取日期”,但是不幸的是,这似乎无法正确读取时间部分。

直到“格式日期”的流都会产生字符串2018-09-24T11:33:23+02:00,但是无论运行此快捷方式的时间如何,“从输入获取日期”都将12:00显示为时间。

工作流程显示问题

PS:这是一个简化的示例。实际的日期字符串将来自Web服务,因此我无法控制传入的格式-我需要解析这种日期以继续执行其他尝试做的事情。

sirishortcuts

5
推荐指数
1
解决办法
167
查看次数

Siri Intent Donation for Shortcuts最终出现错误

我为Siri快捷方式创建了一个简单的意图,每当我试图捐赠意图时,它最终都会出现以下错误.

交互捐赠失败:%@ Error Domain = IntentsErrorDomain Code = 1901"无法捐赠交互{intent = {user =; identifier = 06DE1A38-6D46-4CB8-B825-3788E6A81420;}; dateInterval = <_NSConcreteDateInterval:0x60000043cce0>(开始日期)2018 -07-17 12:38:39 +0000 +(持续时间)0.000000秒=(结束日期)2018-07-17 12:38:39 +0000; intentResponse =; gr​​oupIdentifier =; intentHandlingStatus =未指定;标识符= F145FA84-7147 -41A8-8698-681F06C8CEB5; direction =未指定;}意图没有有效的快捷类型"UserInfo = {NSLocalizedDescription =无法捐赠交互{intent = {user =; identifier = 06DE1A38-6D46-4CB8-B825-3788E6A81420; }; dateInterval = <_NSConcreteDateInterval:0x60000043cce0>(Start Date)2018-07-17 12:38:39 +0000 +(Duration)0.000000 seconds =(End Date)2018-07-17 12:38:39 +0000; intentResponse =; groupIdentifier =; intentHandlingStatus =未指定; identifier = F145FA84-7147-41A8-8698-681F06C8CEB5; direction =未指定; }意图没有有效的快捷键类型}

以下是我的意向捐赠代码

func donateInteraction() {
        let intent = GetBalanceIntent()
        intent.suggestedInvocationPhrase = "Get Balance" …
Run Code Online (Sandbox Code Playgroud)

ios siri sirikit ios12 sirishortcuts

3
推荐指数
1
解决办法
1772
查看次数

Siri 快捷方式响应模板不起作用

我已经启动并运行了快捷方式,并且我将自定义响应添加到了我的完成处理程序中。在这种情况下...

  completion ([TriggerSceneIntentResponse successIntentResponseWithSceneName:intent.sceneName]);
Run Code Online (Sandbox Code Playgroud)

当我让 Siri 运行我的快捷方式时,我成功了,但她只说“完成”或“确定”。我的成功模板是“您的场景名称场景已被激活”。然而,出于某种原因,Siri 从不使用这个模板。

我不确定图片帖子是否在论坛中有效,但我会在这里尝试一下。这是我的自定义意图在意图编辑器中的样子。

在此处输入图片说明

这就是 Siri 的回话……

在此处输入图片说明

同样,如您所见,她只是在说“完成”。当她应该说“您的洗衣房关闭 101 场景已激活”时。

我已经确认我上面的完成行是通过调试我的意图目标来调用的。我不确定我错过了什么?

ios siri sirikit ios12 sirishortcuts

3
推荐指数
1
解决办法
1335
查看次数

通过 Siri 使用参数启动应用程序,无需捐赠/快捷方式

假设我正在制作一个应用程序,用户可以在其中安装一些小的交互式体验(冥想)。

\n\n

为了方便起见,我希望我的用户能够通过说:\xe2\x80\x9cHey Siri,在冥想中启动海滩日落。\xe2\x80\x9d

\n\n

由于某些原因,用户通过语音执行此操作是有意义的,而无需先在 iOS 应用程序中与Beach Sunset进行交互。(例如,他们可能已经通过我的服务的网络应用程序\xe2\x80\x9cown\xe2\x80\x9d它。)

\n\n

也就是说:我想要像\xe2\x80\x9cHey Siri,在 Meditations\xe2\x80\x9d 中启动 Beach Sunset 这样的语音动作,即使用户没有先为其设置快捷方式,或者我 \xe2\x80 \x9c为其提供\xe2\x80\x9d 行动。

\n\n

那可能吗?(我觉得许多默认应用程序都暴露了类似的行为,但也许它们很特别。)如果没有,我能做的下一个最好的事情是什么?

\n\n

Siri 是否需要“捐赠”才能了解我的应用程序的语音操作,或者它们只是一种暗示和预测用户行为的机制?

\n\n

Siri 是否需要“快捷方式”来了解我的应用程序的语音操作,或者它们只是一种用户短语自定义机制?

\n\n
\n

我从未在 iOS 应用程序中添加过 Siri 支持,但似乎 \xe2\x80\x9cparameters\xe2\x80\x9d 在 iOS 13 中变得更加强大。这个答案表明类似的事情在 iOS 中是不可能的12,但我认为它也在做一些不同的事情(我想启动应用程序;他们想要 \xe2\x80\x9c 创建一个对象 \xe2\x80\x9d 大概只是使用 Intent UI。我不知道这是否重要。)

\n
\n\n

我做了什么

\n\n

我已使用单个参数 ( )在“开始”类别 ( ) 中定义了自定义意图。LaunchMeditationmeditationName

\n\n

我考虑了标准媒体 …

parameters ios siri sirishortcuts ios13

3
推荐指数
1
解决办法
2222
查看次数

“发生未知错误”尝试启动我的 Siri 快捷方式时

我正在将 siri Shortcuts 添加到我现有的应用程序中。共有三种快捷方式,一种是使用特定值启动应用程序,一种是将值增加一个数量,另一个是将值减少一个数量。用于启动应用程序的快捷代码附在此处:

//
//  StartMeetingIntentHandler.swift
//


import Intents
import SwiftUI

class StartMeetingIntentHandler: NSObject, StartMeetingIntentHandling {


    @ObservedObject var meeting = Meeting()

    func handle(intent: StartMeetingIntent, completion: @escaping (StartMeetingIntentResponse) -> Void) {
        if let attendees = intent.attendees {
            meeting.meetingStarted()
            meeting.addAttendee(numberToAdd: Int(truncating: attendees))
            completion(StartMeetingIntentResponse.success(result: attendees))
        } else {
            print("failure")
        }
    }

    func resolveAttendees(for intent: StartMeetingIntent, with completion: @escaping (StartMeetingAttendeesResolutionResult) -> Void) {
        let people = Int(truncating: intent.attendees ?? 0)
        if people < 0 {
            completion(StartMeetingAttendeesResolutionResult.unsupported(forReason: StartMeetingAttendeesUnsupportedReason.negativeNumbersNotSupported))
        } else if people > 1000 …
Run Code Online (Sandbox Code Playgroud)

sirishortcuts

3
推荐指数
1
解决办法
1481
查看次数

导入 UIKit 并使用图像作为 AppEnum 的 caseDisplayRepresentations 时出现 AppIntents 问题

I\xe2\x80\x99m 创建一个简单的 AppIntents 快捷方式,需要 UIKit 在我的应用程序中打开 URL。不过,一旦我将 添加import UIKit到我的文件中,Xcode 就会在 处显示以下警告caseDisplayRepresentations,因为我使用图像来显示表示。无需导入 UIKit(或无需 DisplayRepresentations 的图像),一切正常!有什么想法如何解决这个问题吗?

\n
\n

期望直接调用Image初始化程序,但得到Swift.Optional<AppIntents.DisplayRepresentation.Image>

\n
\n

Xcode 警告屏幕截图

\n

代码

\n
import AppIntents\nimport UIKit\n\nenum AppView: Int, AppEnum {\n    case tab1\n    case tab2\n    \n    static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "View")\n    \n    static var caseDisplayRepresentations: [AppView : DisplayRepresentation] = [\n        .tab1: DisplayRepresentation(title: "Tab 1",\n                                     image: .init(systemName: "1.circle")),\n        .tab2: DisplayRepresentation(title: "Tab 2",\n                                     image: .init(systemName: "2.circle"))\n    ]\n}\n\n// MARK: - Intent\nstruct OpenAppIntent: AppIntent {\n …
Run Code Online (Sandbox Code Playgroud)

ios swift sirishortcuts appintents

3
推荐指数
1
解决办法
172
查看次数

如何查看用户创建了哪些 Siri 快捷方式

我正在创建一个 Siri 快捷方式,并插入了 WWDC 2018 视频之一解释和演示的“添加到 Siri”按钮。我的问题是,我是否可以判断用户何时创建了这个特定的快捷方式,这将使按钮变得无用,甚至是一个允许用户为同一活动/意图创建多个快捷方式的错误。

有没有办法访问用户从我的应用程序创建的快捷方式列表?

objective-c ios ios12 sirishortcuts

2
推荐指数
1
解决办法
1431
查看次数

用于选择 YouTube 上视频质量的 JavaScript

我正在尝试在 iOS 上设置 Siri 快捷方式,以便轻松地将 YouTube 视频隔空播放到 Apple TV。作为该过程的一部分,我想选择视频的质量(大概使用 JavaScript),但我在实现这一点时遇到了困难。这是我到目前为止所得到的可在桌面/非 iOS 设备上查看的 imgur 链接)。它成功地使用 JavaScript 暂停视频,自 YouTube 自动播放以来将其倒回到开头,然后通过 AirPlay 连接到 Apple TV,等待电视打开,然后单击视频将其取消静音。然而,我尝试设置视频质量的所有方法都不起作用,我在这里抓狂了。有人知道这是否可能吗?是不是视频的参数可以设置?或者我可以使用 JavaScript 单击设置按钮并选择质量吗?我的 Javascript 非常弱,所以任何帮助我指明正确方向的帮助都将非常感激。

这是我到目前为止得到的 Javascript:

ytplayer = document.querySelector('video');

ytplayer.pause();

ytplayer.currentTime = 0;

ytplayer.click();

ytplayer.play();

completion();
Run Code Online (Sandbox Code Playgroud)

javascript youtube sirishortcuts

2
推荐指数
1
解决办法
2320
查看次数

AppIntents 和 AppShortcuts 未显示在 WatchOS 上

我一直在尝试在我的 WatchOS 目标上进行设置AppIntents和相应操作AppShortcuts,但它们没有显示在 Watch 的快捷方式应用程序中。

使用相同的设置,它在 iOS 伴侣上运行得很好。文档说AppIntents适用于 WatchOS,所以我肯定忽略了一些东西?不幸的是我在网上找不到与该主题相关的任何内容......

编辑:在硬件上运行相同的版本(iPhone SE:iOS 16.4 + Watch SE:WatchOS 9.4),快捷方式甚至不会出现在 iOS 中,而它们会出现在模拟器中?!

现在,我可以在配套应用程序上实现该功能并中继结果状态,但我更喜欢在 Watch 上执行此操作(试图避免一些不必要的额外工作)。因此,任何帮助将不胜感激。谢谢!

ios swift watchos sirishortcuts appintents

2
推荐指数
1
解决办法
607
查看次数

为“intentdefinition”中定义的 Intent 自动生成的代码会抛出“文件末尾没有换行符”

我已经将一个添加Intents.intentdefinition到我的项目中。在其中我添加了一个新的意图,称为OrderItem带有一些参数和参数组合。

当我尝试导入 auto generated 时OrderItemIntent.h,编译器会抛出No newline at end of file编译错误。

不确定解决此问题的正确方法是什么。

在此输入图像描述

objective-c ios ios12 xcode10 sirishortcuts

0
推荐指数
1
解决办法
3471
查看次数