【发布时间】:2020-04-19 11:53:34
【问题描述】:
我在我的 iOS 应用中使用 Sirikit 实现了两个自定义 Intent。当我开发它们时,我在我的 iphone 中安装了 iOS 13.3,我的一个意图有一个 Siri 对话框提示,要求输入一个参数的值。所有应用程序都被翻译成英语和西班牙语,并且自定义意图在两种语言中都能很好地工作。
当我将我的 iphone 更新到 iOS 13.4.1 时,我的自定义意图开始出现以下问题(我看到这两个问题取决于安装/测试/设备):
- Siri 要求参数值,就好像我不会使用标准短语“你想要
param的值是多少?”的任何自定义对话框一样。 (或多或少) - 即使 Intent 和应用程序的其余部分的短语和 Siri 响应正确翻译成西班牙语,Siri 也会用英语而不是西班牙语询问 Siri 对话提示。唯一不起作用的翻译是 Siri 对话提示。
我觉得这个问题非常奇怪和烦人。我尝试重新创建Intent.intentdefinition 的翻译文件:Intent.strings (Base)、Intent.strings (English)、Intent.strings (Spanish),我什至尝试重新创建整个自定义意图定义,但我仍然遇到问题。
我还尝试更改手机上的 iOS 语言和 Siri 语言,重启、重新安装应用、intent 等...
这是我的 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>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>IntentsRestrictedWhileLocked</key>
<array/>
<key>IntentsRestrictedWhileProtectedDataUnavailable</key>
<array/>
<key>IntentsSupported</key>
<array>
<string>NumTotalItemsIntent</string>
<string>SearchItemIntent</string>
</array>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.intents-service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).IntentHandler</string>
</dict>
</dict>
</plist>
有什么解决办法吗?这是 iOS 13.4 的错误吗? Siri 集成对于我正在开发的应用程序非常重要,这对我来说是一个障碍。
提前致谢!
【问题讨论】:
-
我也有同样的问题。你解决了吗?
标签: ios swift iphone siri sirikit