我有一个带有Siri支付意图扩展的Swift 3 iOS10应用程序。有没有办法提示用户在主应用程序中获得Siri App支持权限(在设置中找到 - > Siri - >应用程序支持 - >(您的应用程序名称))。您可以为其他权限(例如推送通知)执行类似的操作。我发现启用此切换的唯一方法是首先尝试使用#34;付费(您的应用名称)"这会触发付款意图。我想在主应用程序中设置一个“设置”屏幕,为用户提供有关其工作原理的教程以及启用它的选项。
答案 0 :(得分:1)
用户必须授予您的应用使用SiriKit的权限。要申请您的应用的权限,请执行以下操作:
在您的iOS应用的Info.plist文件中包含NSSiriUsageDescription键。此键的值是一个字符串,用于描述您的应用与SiriKit共享的信息。例如,锻炼应用程序可能会将值设置为字符串“锻炼信息将被发送到Siri”。 在应用程序执行期间的某个时刻调用requestSiriAuthorization:INPreferences的类方法。 您的iOS应用首次调用requestSiriAuthorization:方法时,系统会显示一条警告,提示用户授权您的应用。警报包括您在应用的Info.plist文件的NSSiriUsageDescription键中提供的使用说明字符串。用户可以批准或拒绝您的应用程序的授权请求,并可以稍后在“设置”应用中更改您应用的授权状态。系统会记住您的应用程序的授权状态,以便后续调用requestSiriAuthorization:方法不会再次提示用户。
答案 1 :(得分:0)
现在看来您可以提示用户授权,例如在AppDelegate中提到here:
然后,在应用程序(_:didFinishLaunchingWithOptions :)中添加 以下代码。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. INPreferences.requestSiriAuthorization { (authStatus: INSiriAuthorizationStatus) in } return true }