显示 的实例时INUIAddVoiceShortcutViewController,我想让快捷方式的意图参数之一(类型Decimal)默认为Ask Each Time。
现在,它默认为文件中的Default Value值.intentdefinition。(0如果留空,此字段将重置为。)
有没有办法定义一个意图,这样当它在快捷方式中实例化时,它有一个默认为的参数Ask Each Time?
我正在尝试使用iOS 12中的新iOS快捷方式应用程序创建一个INIntent.我已阅读文档并观看了有关它的Apple 视频.
我已经成功设置了所有内容并且快捷方式运行良好,但是我似乎无法弄清楚如何设置用户可以在设置快捷方式时编辑的可自定义选项.这方面的一个例子是Calendar应用程序的快捷方式是如何设置的:
请注意Get,Add Filter,Sort by等选项.
我知道我可以在Intents.intentdefeniton文件中向Intent添加参数,但是在通过SiriKit将交互捐赠给iOS系统之前,需要从应用程序本身设置这些参数.
无论我做什么,Intent只显示空,没有选项.
任何帮助表示赞赏!
我的应用程序的用户可以执行十几个相关的操作,我想让他们用 Siri 来完成,但我不确定如何有效地做到这一点。我知道我可以INIntent在用户执行操作时捐赠一个,但是是否可以捐赠带有可自定义参数的操作?例如,用户可以说“执行操作 1”,1作为参数。用户是否必须先执行 12 个操作中的每一个,然后才能使用 Siri 执行此操作?我也知道可以使用NSUserActivityand INInteractions 来让用户更轻松地将 Siri 与应用程序一起使用,但是我找不到任何资源可以让我知道我想要做的事情是否可行...
当我尝试通过设备上的自定义意图调用它时,将语音快捷方式添加到我的应用程序后,我收到“抱歉,应用程序出现问题”的响应,但没有任何其他信息。
为了调试它,我在 IntentHandler 中设置了断点,其中调用了自定义意图的构造函数并调用了确认方法,但从未调用过处理方法。
最奇怪的是,这只发生在 iPhone 6 上,在 iPhone X 上使用相同的 iOS (12.1.2) 它工作正常。模拟器也工作正常。
在控制台日志中,我发现这些消息相关:
症状:条目,显示名称 [ siriextension.bundleid ]
症状:继续包名称 [ app.bundleid ] ,是前面 0
症状:[ app.bundleid ]:前景:假
症状:无法找到 [ app.bundleid ] 的进程
我想使用默认的随机源随机排列列表。我发现的“随机播放”的唯一参考是“播放音乐”操作中的一个选项。
换句话说,如何创建一个操作,该操作接收一个列表作为输入,并返回另一个具有相同元素但以随机顺序排列的列表?
我正在实现 ios 快捷方式意图。我只是在 myProject 中添加意图,并且不想在快捷方式选项中显示“运行时显示”。
如何删除“运行时显示”选项?
我正在编写一个应用程序,其中包含一个场景,该场景是我想使用Siri进行搜索(例如“嘿Siri,APP_NAME PHRASE”),并使用Siri给出任何短语,并且我需要将该PHRASE作为文本输入我的应用程序。我尝试了自定义意图,但没有运气。使用自定义意图可以实现吗?
我dynamic从意图定义中设置了一个意图参数。
假设我获取此选项信息的服务器当前已关闭。
目前尚不清楚如何向用户呈现无法检索的选项。我们应该返回选项的完成字段也接受Error. 我已经用 的子类填充它,Error并且我还实现了LocalizedError这个类的协议......但是当我遇到来自快捷方式应用程序的错误时,Apple 只是显示一个弹出消息,该消息返回一条未本地化的可怕消息(但这包括正确的错误名称)。
这是我正在使用的代码...
func provideCarModelOptions(for intent: CarIntent, with completion: @escaping ([String]?, Error?) -> Void) {
if(somethingGoesWrongWithServers()){
completion([],CarError.ServerDown)
}else{
completion(ReturnListOfModels(), nil)
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我实现CarError枚举的方式
public enum CarError:Error{
case serverDown
case generic
}
extension CarError : LocalizedError{
public var errorDescription: String? {
switch self {
case .serverDown:
return "Server is down"
case .generic:
return "SomethingGoesWrong"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么还是苹果没有以正确的方式处理错误?
我正在使用 App Intents API 通过 iOS Shortcuts 应用程序提供自动化。当我的意图运行时,我希望能够决定是否要打开应用程序(将其带到前台)。我知道openAppWhenRun可以用来打开应用程序,但它的值无法修改。
我尝试使用openAppWhenRun,但它没有设置器。因此,我无法动态更新此变量来确定应用程序是否应在前台打开。
我\xe2\x80\x99m 致力于支持 iOS 17\xe2\x80\x99s 新的快捷方式功能。我有多个应用程序快捷方式,包括一个在选定选项卡中启动应用程序的快捷方式。选项卡选择是通过AppView符合AppEnum协议的自定义枚举完成的。
问题是,由于某种原因,在视图 XYZ 中打开操作无法在 Spotlight 中正确显示\xe2\x80\x99。正如您在下面的屏幕截图中看到的,它没有任何图标或标题。此外,在“快捷方式”应用程序本身中,仅显示第一个短语产生的操作。基于短语的操作AppView仅显示为下面的旧应用程序快捷方式。
知道如何解决这个问题吗?
\nstruct AppShortcuts: AppShortcutsProvider {\n static var shortcutTileColor: ShortcutTileColor = .grape\n \n static var appShortcuts: [AppShortcut] {\n AppShortcut(\n intent: OpenAppIntent(),\n phrases: [\n "Open \\(.applicationName)",\n "Open \\(\\.$view) in \\(.applicationName)"\n ],\n shortTitle: "Open",\n systemImageName: "arrow.up.forward.app"\n )\n // Other App Shortcuts \xe2\x80\xa6\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nAppView应用枚举extension AppView: AppEnum {\n static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "View")\n \n static var caseDisplayRepresentations: [Self …Run Code Online (Sandbox Code Playgroud) sirishortcuts ×10
ios ×8
sirikit ×6
swift ×5
appintents ×2
siri ×2
ios12 ×1
ios17 ×1
iphone ×1
swiftui ×1