首先要創(chuàng)建Intents文件.
截屏2023-10-27 18.16.38.png
創(chuàng)建文件后
截屏2023-10-27 18.17.21.png
在這里添加一個標題,里面可以配置參數(shù)等內(nèi)容,參數(shù)不得為空,調(diào)試需要自己選擇
隨后,會自動在info文件創(chuàng)建key為"NSUserActivityTypes"的鍵值對,注意查看里面的值
假設(shè)value = ChargeBatteryIntent
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
//這里的type要和info里面的內(nèi)容相對應(yīng)
if let userActivity = connectionOptions.userActivities.first,
userActivity.activityType == "ChargeBatteryIntent" {
enterChargingShowViewController(false)
}
}
//此方法在程序后臺調(diào)用
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
if userActivity.activityType == "ChargeBatteryIntent"{
enterChargingShowViewController(true)
}
}
func enterChargingShowViewController(_ isActivity:Bool) {
//這里判斷bool 如何是true
if !isActivity{
//直接設(shè)置主window.rootwindow
}else{
//獲取當前控制器,跳轉(zhuǎn)到充電頁面
}
}
隨后直接便可以測試,更詳細內(nèi)容,例如充電結(jié)束或,結(jié)束充電,則需要自己去研究嘍