我有一個帶有Siri支付意圖擴展的Swift 3 iOS10應用程序。有沒有辦法在主應用程序中提示用戶獲得Siri App Support權限(在設置 - > Siri - >應用程序支持 - >(您的應用程序名稱)中找到)。您可以爲其他權限(如推送通知)做類似的操作。我發現啓用這個開關的唯一方法是實際嘗試首次使用這個意圖,通過說出觸發付款意圖的「支付(您的應用程序名稱)」。我希望在主應用程序中有一個設置屏幕,以向用戶提供關於它如何工作的教程以及啓用它的選項。Siri應用程序支持許可(支付意圖擴展)的提示用戶
-1
A
回答
0
用戶必須授予權限爲您的應用程序使用的詩麗吉。要請求您的應用許可,請執行以下操作:
將NSSiriUsageDescription密鑰包含在iOS應用的Info.plist文件中。此密鑰的值是一個字符串,它描述了您的應用與SiriKit共享的信息。例如,鍛鍊應用可能會將值設置爲字符串「鍛鍊信息將發送到Siri」。 在應用程序執行期間的某個時刻調用INPreferences的requestSiriAuthorization:類方法。 您的iOS應用第一次調用requestSiriAuthorization:方法時,系統會顯示一條提示,提示用戶授權您的應用。該警報包括您在應用的Info.plist文件的NSSiriUsageDescription項中提供的使用說明字符串。用戶可以批准或拒絕應用的授權請求,稍後可以在「設置」應用中更改應用的授權狀態。系統會記住您的應用程序的授權狀態,以便後續對requestSIriAuthorization:方法的調用不會再次提示用戶。
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 }
相關問題
- 1. PayPal API是否支持用戶在我的應用上支付用戶付款?
- 2. TestFlight不支持使用Watchkit擴展的應用程序
- 3. 支付iOS應用程序
- 4. 將64位支持擴展到現有的iOS應用程序
- 5. CloudFoundry中的劑量Spring MVC應用程序支持擴展ViewResolver
- 6. 預付款的嵌入式支付流程中的客戶支付支持
- 7. Chrome擴展程序不支持代碼?
- 8. 買方支付應用程序的PHP支付網關集成
- 9. iPhone應用程序支付費用
- 10. 可支持Web應用程序(.NET C#)
- 11. JavaMe應用程序支持
- 12. ms圖beta端點,許多apis不支持應用程序許可
- 13. 製作已支付的應用程序
- 14. Saas應用程序的支付處理
- 15. 在android中的應用程序支付
- 16. 應用程序的在線支付
- 17. 估算應用程序可以支持的最大用戶數
- 18. 計算貸款支付時支付滿意 - 部分支付允許
- 19. 不支持16位應用程序使用命令提示符
- 20. 在可可圖形應用程序中支持圖層
- 21. Phonegap是否支持Siri?
- 22. 不Qt的擴展支持
- 23. 是否支付交付應用程序的應用程序內支付也受70/30分割?
- 24. 有沒有移動應用程序支付用戶的方法?
- 25. iPhone精簡版支付應用程序
- 26. iphone應用程序paypal支付集成
- 27. itunes拒絕支付應用程序?
- 28. IS EBS支付網關是否支持適應性支付?
- 29. 支付應用程序的iOS應用程序內購買
- 30. iOS:當我問Siri時,Siri沒有列出我的iOS支付應用程序「你能做什麼?」