SiriKit 是苹果提供的框架,用于将 App 的特定功能集成到 Siri 中。我们可以通过它来扩展 Siri 的能力,让用户可以通过语音来控制和使用 App。
使用 SiriKit 的基本步骤:
- 在 Xcode 中启用 App 的 Siri 支持,需要添加 com.apple.developer.siri 必需的权限。
- 选中要对 Siri 公开的 Intent,目前支持的有:
- 任务(Task)
- 消息(Message)
- 注释(Note)
- 照片(Photo)
- 付款(Payment)
- 回传信息(VHlback)
- 体育运动(Workout)等
- 实现相关协议以响应 Intent,例如:
- INTaskTasksRequest: 用于任务 App
- INMessageSendRequest: 用于消息 App
- INNoteRequest:用于注释 App
- 在 Info.plist 添加 NSExtension 属性来定义 Siri 扩展。
- 在 AppDelegate 中调用 extensionContext?.activate() 来激活 Siri 扩展。
- 在 Siri Intent UI 中,用户可以看到 App 的 Siri 功能,并通过语音与之交互。
下面是一个简单的 SiriKit 示例:
Info.plist:
xml
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>SiriIntentsSupported</key>
<array>
<string>INSearchForMessagesIntent</string>
</array>
</dict>
</dict>
AppDelegate:
swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Activate Siri Intents
extensionContext?.activate()
return true
}
通过 SiriKit,我们可以让 Siri 更加智能,与用户的各种 App 进行语音交互。这使得 Siri 成为连接不同 App 的重要桥梁。