标签: sirikit

无法在Swift 2.3中编译Siri扩展

我想在我的应用程序中集成Siri/Intent扩展,目前基于Swift 2.3.我正在使用Xcode 8 beta 6版本.

该应用程序甚至无法编译,发出错误


类型'IntentHandler'不符合协议'INSendMessageIntentHandling'

协议要求函数'handle(sendMessage:completion :)'类型为'(sendMessage:INSendMessageIntent,completion:(INSendMessageIntentResponse) - > Void) - > Void'

Objective-C方法'handleWithSendMessage:completion:'由方法提供'handle(sendMessage:completion :)'与需求的选择器不匹配('handleSendMessage:completion:')


即使是来自Apple的示例应用程序,UnicornChat也无法使用相同的错误进行编译.我确实将SWIFT_VERSION标志更改为,以支持Swift 2.3

示例代码:

func handle(sendMessage intent: INSendMessageIntent, completion: (INSendMessageIntentResponse) -> Void) {
        let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
        let response = INSendMessageIntentResponse(code: .Success, userActivity: userActivity)
        completion(response)
    }
Run Code Online (Sandbox Code Playgroud)

这失败并出现上述错误.

任何人都知道如何让Siri在Swift 2.3中工作?

siri swift sirikit xcode8 swift2.3

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

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
查看次数

未调用 SiriKit (iOS 12) 自定义意图处理程序

我已经设置了一个自定义意图,除了没有调用处理程序之外,它似乎一切正常。Siri 的响应好像一切都成功了,但我在控制台输出中没有看到任何内容,也没有触发我的断点......这是处理程序......

@implementation IntentHandler  

- (id)handlerForIntent:(INIntent *)intent  
{  
    // This is the default implementation.  If you want different objects to handle different intents,  
    // you can override this and return the handler you want for that particular intent.  

  NSLog(@"In handlerForIntent.");  

  if ([intent isKindOfClass:[TriggerSceneIntent class]])  
  {  
       return [SceneIntentsHandler sharedInstance];  
  }  

    return self;  
}  

@end  
Run Code Online (Sandbox Code Playgroud)

我在 if 语句和两个 return 语句处都有断点。他们都没有受到打击。我也从未在 xCode 的控制台日志中看到“In handlerForIntent”。

我猜这是我错过的相当简单的事情,但我没有看到。欢迎任何建议?

sirikit ios12

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

SiriKit应用程序在安装应用程序时出现“应用程序安装失败”错误

错误,

此应用程序或其中包含的应用程序具有Siri Intents应用程序扩展,该扩展程序在其IntentsRestrictedWhileLocked键的数组值中声明了不在其IntentsSupported键的数组值(在其Info.plist的NSExtension词典的NSExtensionAttributes字典中)中的值。

我在中添加了一项IntentsRestrictedWhileLocked

ios sirikit

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

如何在siri中创建自定义意图

我知道siri提供有限的Intents,我们必须将我们的应用程序添加到域以便能够从siri获取输入.

但我想创建自己的意图让用户通过siri访问我的应用程序.

我在任何地方都找不到多少支持?欢迎任何有用的指示

ios sirikit

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

标签 统计

sirikit ×5

ios ×3

ios12 ×2

siri ×2

sirishortcuts ×1

swift ×1

swift2.3 ×1

xcode8 ×1