前言
最近公司App要实现下图这样一个功能,对iPhone手机喊 " 嘿,Siri,余额 ”
或者 " 嘿,Siri,转账 ”
出现下面的列表,结果列表中展示我们的APP。

百度了很久,没有找到这个是什么功能,有大佬指点我到官网查询一下,通过查阅发现官网有一个这样的文档 Adding User Interactivity with Siri Shortcuts and the Shortcuts App ,但是通过查阅配置步骤,貌似感觉讲的像是设置如何捷径,感觉自己这个需求又不像是Siri Shortcuts(捷径)功能。最后有一个朋友给我指点,应该是Siri语音转账类。

至此,找对了方向开始调研。
步骤:
一、 工程基本配置
创建一个普通的xcode工程,然后进行如下配置1、 在工程的 Signing&Capabilities 中,点击 +Capability ,添加Siri


2、 添加siri权限申请Privacy - Siri Usage Description
使用siriKit,进行快捷转账

3、 在 AppDelegate 中,导入 #import <Intents/Intents.h>
头文件,添加如下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[INPreferences requestSiriAuthorization:^(INSiriAuthorizationStatus status) {
NSLog(@"%ld", (long)status);
}];
return YES;
}
此时运行工程,会出现下图申请权限的界面

点击好
,至此,基本工程配置完毕。
二、 添加Siri扩展
1、 点击 Xcode
-> File
-> New
-> Target
,选择 iOS
-> Intents Extension
。



填写 Product Name 点击 Finish 完成操作, 此时会弹出提示框,选择 Active 。

至此,会新增两个 Target , SiriExtension
和 SiriExtensionUI

三、 Target , SiriExtension
和 SiriExtensionUI
配置
1、 对 SiriExtension -> info.plist -> NSExtension -> NSExtensionAttributes 中的键值对进行调整,调整前和调整后如下所示:

调整后为:INSendPaymentIntent

2、 对 SiriExtensionUI 也进行相同的配置, SiriExtensionUI 只需要配置 IntentsSupported ,调整后如下:

调整后为:INSendPaymentIntent