【问题标题】:how to make voip calls using siri-kit iOS10如何使用 siri-kit iOS10 拨打 voip 电话
【发布时间】:2016-07-11 14:04:43
【问题描述】:

我已向应用程序添加了扩展(根据苹果文档),但意图处理程序类没有响应我的命令。我缺少的不是。请帮助我,我如何将 siri 添加到我的应用程序中。

 // reslove
- (void)resolveContactsForStartAudioCall:(INStartAudioCallIntent *)intent
                          withCompletion:(void (^)(NSArray<INPersonResolutionResult *> *resolutionResults))completion{
    NSArray *contacts;
    NSArray * contacts1;
    INPersonResolutionResult* result = nil;
    if (contacts == intent.contacts) {
        for (INPerson *contact in contacts) {

       contacts1 = [self contactsMatchingName:contact.displayName];
            switch (contacts1.count) {
                case 1:
                    result = [contacts objectAtIndex:0];
                    [INPersonResolutionResult successWithResolvedPerson:[contacts1 objectAtIndex:0]];
                    break;
                case 0:
                    result = [INPersonResolutionResult unsupported];
                    break;
                default:
                    result  = [ INPersonResolutionResult disambiguationWithPeopleToDisambiguate:contacts1];
                    break;
            }
        }
        completion(contacts1);
    }else{
        result =  [INPersonResolutionResult needsValue];
    }


}

// confirmation method
- (void)confirmStartAudioCall:(INStartAudioCallIntent *)intent
                   completion:(void (^)(INStartAudioCallIntentResponse *response))completion{

    INStartAudioCallIntentResponse *result = nil;
    if (![[NSUserDefaults standardUserDefaults]objectForKey:@"isSignedIn"]) {
        result = [[INStartAudioCallIntentResponse alloc]initWithCode:INStartAudioCallIntentResponseCodeReady userActivity:nil];
        completion(result);
    }else{
        NSUserActivity  *activity = [[NSUserActivity alloc]initWithActivityType:@"reLogin"];
        result = [[INStartAudioCallIntentResponse  alloc]initWithCode:INStartAudioCallIntentResponseCodeFailure userActivity:activity];
        completion(result);
    }
}

【问题讨论】:

  • 请提供一些代码
  • Apple's Speakerbox 实现了 Siri,但不幸的是它在 Swift 中。将 CoreLocation.framework 添加到应用程序并在 Settings | 中激活它Siri,并使用电话号码对其进行测试,因为它无法识别联系人。

标签: ios xcode sirikit


【解决方案1】:

这里有一些资源可以帮助您入门。

  1. 指南和文档

SiriKit Programming Guide

Intents Framework

IntentsUI Framework

  1. 示例代码

UnicornChat Sample App

  1. 视频(来自 WWDC 2016)

Introducing SiriKit

Extending your app with SiriKit

【讨论】:

  • @asdrubai 感谢您提供教程,我之前只阅读过此文档
  • 我是 iOS 开发新手。我向项目添加了所有扩展,但当我使用 siri 时,意图处理程序没有调用
  • @NagendarReddy 也许您可以访问stackoverflow.com/help/asking 以更好地提出您的问题并让人们更容易帮助您。一般问题更难回答
  • 感谢您的建议。我在上面添加了代码,请看看我要做什么
  • 他说他和我一样阅读了文档,但没有提供 VoIP 示例。它没有解释如何将它们放在一起。你的回答根本没有帮助。我希望 StackOverflow 能摆脱这种居高临下的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
相关资源
最近更新 更多