标签: siri

如何在iPhone应用程序中集成SIRI?

我正在开发一款iPad应用程序.我想在其中集成SIRI功能.

所以,请指导我研究这个问题.其实我不知道如何开始.

谢谢,

CP

ipad ios siri ios6

6
推荐指数
1
解决办法
8664
查看次数

Siri正在识别我的AppIntentVocabulary.plist中的短语,但它没有使用与这些短语相关联的VocabularyItemIdentifier值

我正在开发一个锻炼应用程序,并希望将SiriKit集成到iOS 10中.我已经知道如何集成SiriKit并让Siri与我们的应用程序一起工作.

我能找到的唯一有用的资源是Apple的官方文档:SiriKit iOS 10

为了让Siri认出我们的自定义词汇,我们必须添加此文件 在此输入图像描述AppIntentVocabulary.plist

但是intent.workoutName.identifier总是返回口头短语而不是VixelItemIdentifier,而不是有氧运动,而不是有氧运动.

是否有人面临此问题或找到任何解决方案?

ios siri ios10 sirikit

6
推荐指数
0
解决办法
1163
查看次数

iOS Siri添加自定义词汇表

我有一些麻烦为Siri添加自定义词汇.

我在我的应用程序中实现了Siri,它适用于经典命令.但是,我试图添加一个自定义短语,但它无法识别它.我尝试了" https://developer.apple.com/library/content/documentation/Intents/Conceptual/SiriIntegrationGuide/SpecifyingCustomVocabulary.html#//apple_ref/doc/uid/TP40016875-CH6-SW1 "中描述的两种方式,然后按照所有步骤.

你有其他任何提示或解释吗?或者你能告诉我如何调试这个,因为我不知道发生了什么,如果我的AppIntentVocabulary.plist被考虑在内或不是例如.

xcode ios siri

6
推荐指数
1
解决办法
817
查看次数

如何在搜索页面上将searchBar设置为Siri的全局焦点?

描述

在我的tvOS应用程序中,我有一个搜索页面,位于顶部a Search Bar和a Table View下面,最后列出了结果.

当我们关注searchBar并且用户按下Siri的声音时,结果将被插入搜索栏(如预期的那样).然而,当用户向下滚动结果并且无法找到他们正在寻找的内容时,他们必须向上滚动(一直向上)到searchBar再次使用Siri.

如果用户searchBar在未关注时尝试使用Siri,则全球Siri开始在不同的应用程序中查找结果(这不是我想要的)

题:

如何在搜索页面上将searchBar设置为Siri的全局焦点?

我尝试过的:

说实话,我不知道该如何去做..

在AppDelegate.swift中调用一个函数来创建Search View Controller并将其添加到Tab Bar Controller.

我已经考虑过尝试preferedFocusView,但在阅读完文档之后,我怀疑它会起作用.

func configueSearchController() -> UIViewController {

        let storyboard = UIStoryboard(name: "Search", bundle: nil)
        guard let searchResultsController = storyboard.instantiateViewController(withIdentifier: SearchViewController.storyboardIdentifier) as? SearchViewController else {
            fatalError("Unable to instatiate a SearchResultViewController from the storyboard.")
        }

        /*
         Create a UISearchController, passing the `searchResultsController` to
         use to display search results.
         */

        let searchController = UISearchController(searchResultsController: searchResultsController)
        searchController.searchResultsUpdater = searchResultsController
        searchController.searchBar.placeholder …
Run Code Online (Sandbox Code Playgroud)

siri swift tvos

6
推荐指数
1
解决办法
465
查看次数

UITextField的听写结果与UITextView不同

我似乎无法在iOS中找到有关文本输入的语音到文本选项的任何文档.我知道你可以用一些AV手动手动完成它,但是当启用Siri时你得到的开箱即用的听写有一些怪癖.

试试这个.使用搜索栏打开您拥有的任何iOS应用.这将是我们的UITextField实验.更好的是,打开Mail.app.你不能卸载它,所以我知道你拥有它.

说"123榆树圣逗号法戈逗号ND"我得到的:123榆树圣逗号法戈逗号印第安"

非常接近我所说的.没什么大不了的.那是一个文本字段/搜索栏.让我们在UITextView中尝试这个.

打开一封新电子邮件,然后转到电子邮件正文.让我们说同样的话.

说"123 Elm St.逗号Fargo逗号ND"我得到的:123 Elm St.,Fargo,ND"

看起来更好!所以我想知道的是,为什么UITextView能够更好地识别标点符号和其他命令而不是文本字段.这不仅限于逗号,它贯穿整个范围.

有没有办法指定我想要的文字类型?有没有办法改变它,所以我在文本字段中得到这个标点符号?或者有人能指出我的一些文件说这就是为什么他们不同而且我完全搞砸了.无论哪种方式,一些答案都会有所帮助.提前致谢.

更新 我已经将UITextField子类化,并检查了可能随着听写回来的替代短语,但没有.只是原始转换是我得到的.

uitextfield uitextview ios siri dictation

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

我的应用程序可以检测到它是由 Siri 打开的吗?

我的 Swift 应用程序可以检测到它是由 开启的Siri吗?viewController当(且仅当)我的应用程序被 Siri打开时,我想打开一个特定的页面。

siri swift

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

是否有类似 Shazam 的 API?

我使用 Apple 的 Siri Shortcuts 编写程序,我正在寻找 API 或任何可用于识别在后台播放的歌曲的方法。

有没有什么软件可以做到这一点?如果没有,有没有办法编写一个识别歌曲的快捷方式?

谢谢!

shazam ios siri sirishortcuts

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

Siri 集成与自定义意图面临的问题

我正在尝试将 Siri Shortcuts 集成到我的应用程序中。我正在尝试的概念是通过秘密密码确认获得我的卡的奖励积分。请在下面找到我为此所做的工作。

  1. 在功能中启用 Siri 并添加了 Siri Intent 定义文件。
  2. 添加了名为 say Rewards 的新自定义意图。

  3. 定义了标题。启用确认的字幕和参数(accType,pin)。Pin 将单独发送给用户。

在此处输入图片说明

  1. 然后使用参数“rewardPoints”定义意图响应并定义响应消息。

在此处输入图片说明

  1. 添加了 Siri 意图扩展。
  2. 向项目和意图扩展中的 info.plist 文件添加了自定义意图。

在此处输入图片说明

在此处输入图片说明

  1. 验证并为自定义意图添加了新的处理程序,并定义如下的解析、处理和确认方法。现在,我将随机返回奖励积分。
//
//  RewardsIntentHandler.swift
//  SiriIntentExt
//

import UIKit
import Intents

class RewardsIntentHandler: NSObject, RewardsIntentHandling {

    func resolveAccType(for intent:RewardsIntent, with completion: @escaping ([INStringResolutionResult]) -> Void) {
        guard let accType = intent.accType else {
            completion([INStringResolutionResult.needsValue()])
            return
        }

        completion([INStringResolutionResult.success(with: accType)])
    }

    func resolvePin(for intent:RewardsIntent, with completion: @escaping ([INIntegerResolutionResult]) -> Void) {

        guard let verifyPin = intent.pin else {
            completion([INIntegerResolutionResult.needsValue()]) …
Run Code Online (Sandbox Code Playgroud)

ios siri swift sirikit sirishortcuts

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

未调用 SiriKit 扩展

我正在使用测试应用程序和扩展程序来尝试 SiriKit 驱魔。我的分机根本没有被调用,我不知道为什么。我在另一个应用程序中有一个有效的 SiriKit 扩展,它莫名其妙地停止响应 - 因此这个测试应用程序。

这是我在测试应用程序中设置 SiriKit 所做的工作:

1) 为应用目标添加了 Siri 权限: 在此处输入图片说明

2) 在应用程序的 info.plist 中添加了 Siri 使用说明: 在此处输入图片说明

3)添加了一个新的 Intents 扩展测试目标,并将我想要的 Intent 添加到扩展 info.plist 中: 在此处输入图片说明

4) 连接 IntentHandler 类:

class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any {
    print("IntentHandler.handle")
    switch intent {
        case is INAddTasksIntent: return AddIntentHandler()
        default: break
    }
    return self
}
}
Run Code Online (Sandbox Code Playgroud)

5)创建我的处理程序类:

class AddIntentHandler: NSObject, INAddTasksIntentHandling {
func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
    print("AddIntentHandler.handle")
    return completion(INAddTasksIntentResponse(code: .success, userActivity: nil)) …
Run Code Online (Sandbox Code Playgroud)

ios siri swift sirikit

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

Sirikit 自定义意图和 iOS 13.4.1 的国际化问题

我在我的 iOS 应用程序中使用 Sirikit 实现了两个自定义意图。当我开发它们时,我的 iphone 中安装了 iOS 13.3,我的一个意图有一个 Siri Dialog 提示,要求输入一个参数的值。所有应用程序都被翻译成英语和西班牙语,并且自定义意图在两种语言中都能很好地工作。

当我将 iphone 更新到 iOS 13.4.1 时,我的自定义意图开始出现以下问题(根据安装/测试/设备,我看到了两个问题):

  • Siri 询问参数值,就好像我不会放置任何带有标准短语“您想要什么值param?”的自定义对话框一样。(或多或少)
  • Siri 以英语而不是西班牙语询问 Siri 对话提示,即使 Intent 和应用程序的其余部分的其余短语和 Siri 响应已正确翻译成西班牙语。唯一不起作用的翻译是 Siri 对话提示。

我觉得这个问题很奇怪也很烦人。我尝试为Intent.intentdefinition: Intent.strings (Base)、重新创建翻译文件Intent.strings (English)Intent.strings (Spanish)我什至尝试重新创建整个自定义意图定义,但我仍然遇到问题。

我还尝试更改手机上的 iOS 语言和 Siri 语言、重新启动、重新安装应用程序、意图等...

这是我的 Sirikit 扩展的 Info.plist:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
<plist version="1.0">  
<dict>  
  <key>CFBundleDevelopmentRegion</key>  
  <string>$(DEVELOPMENT_LANGUAGE)</string>  
  <key>CFBundleDisplayName</key>  
  <string>InventorySearchIntent</string>  
  <key>CFBundleExecutable</key>  
  <string>$(EXECUTABLE_NAME)</string>  
  <key>CFBundleIdentifier</key>  
  <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>  
  <key>CFBundleInfoDictionaryVersion</key>  
  <string>6.0</string>  
  <key>CFBundleName</key>  
  <string>$(PRODUCT_NAME)</string>  
  <key>CFBundlePackageType</key>  
  <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> …
Run Code Online (Sandbox Code Playgroud)

iphone ios siri swift sirikit

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

标签 统计

siri ×10

ios ×8

swift ×5

sirikit ×4

sirishortcuts ×2

dictation ×1

ios10 ×1

ios6 ×1

ipad ×1

iphone ×1

shazam ×1

tvos ×1

uitextfield ×1

uitextview ×1

xcode ×1