【发布时间】:2019-08-20 07:05:35
【问题描述】:
一旦用户点击推送通知,我想重定向到特定屏幕。为此,我尝试了以下代码并成功显示了视图,但是在将特定视图设置为 RootViewController 后,我无法使用应用导航流程。
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
//let alertMsg = (userInfo["aps"] as! NSDictionary)["alert"] as! NSDictionary
//let payload = userInfo["sendbird"] as! NSDictionary
//APS DATA
if let apsData = userInfo["aps"] as? Dictionary<String, Any> {
print(apsData)
}
//USER DATA
if let userData = userInfo["user_details"] as? Dictionary<String, Any> {
print(userData)
}
//NOTIFICATION DATA
if let notificationData = userInfo["notification_details"] as? Dictionary<String, Any> {
print(notificationData)
let nNotificationType = notificationData["notification_type"] as! Int
let nNotificationID = notificationData["notification_id"] as! Int
}
let storyBoard : UIStoryboard = UIStoryboard(name: "Group", bundle:nil)
if Device.IS_IPHONE_X {
let controller = storyBoard.instantiateViewController(withIdentifier: "GroupInfoViewController_iPhoneX") as! GroupInfoViewController
let navController = UINavigationController.init(rootViewController: controller)
}
else {
let controller = storyBoard.instantiateViewController(withIdentifier: "GroupInfoViewController_iPhone8") as! GroupInfoViewController
let navController = UINavigationController.init(rootViewController: controller)
}
// Your custom way to parse data
completionHandler(UIBackgroundFetchResult.newData)
}
请指导我在通知点击时移动到特定 ViewController 后如何使用正常的应用导航。和安卓应用一样。
请指导我
【问题讨论】:
-
您可以在 viewDidload/viewDidAppear 中从根视图控制器推送特定的视图控制器。
-
@mumu,你的意思是说我在初始控制器中编写代码以推送到特定控制器?
-
是的,我是这个意思。 @kuldeep
-
@mumu,让我试试这个。
标签: ios swift push-notification