2016-11-21 2 views
0

Я делаю приложение с OneSignal и Swift 3. Я получил толчок. Как показать конкретный ViewController с WebView в OneSignal при нажатии на уведомление. При вводе дополнительных данных с полем "link" У меня есть ссылка, но не могу отобразить эту ссылку в моем WebView.Как отобразить определенный ViewController в OneSignal Swift

Я пытаюсь использовать глобальную переменную tempURL, чтобы разместить URL-адрес от additional data. Но это не сработает.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    OneSignal.initWithLaunchOptions(launchOptions, appId: "MYID", handleNotificationAction: { (result) in 
     let payload = result?.notification.payload 
     print("This is Payload \(payload)") 
     var fullMessage = payload?.title 
     let messageTitle = "OneSignal Example" 

     if (result?.action.actionID) != nil { 
     let additionalData = payload?.additionalData 
     let url = additionalData?["link"] as! String? 
     tempURL = url! 
     fullMessage = fullMessage! + "\nPressed ButtonId:\(url)" 

     } 

     let alertController = UIAlertController(title: messageTitle, message: fullMessage, preferredStyle: .alert) 
     let okAction = UIAlertAction(title: "OK", style: .default) 
     alertController.addAction(okAction) 
     alertController.show(alertController, sender: nil) 

    }) 
    return true 
} 

Try, чтобы показать:

func application(_ application: UIApplication, didReceiveRemoteNotification data: [AnyHashable : Any]) { 

    let aViewController = ViewController() 
    aViewController.loadAddressURL(url: tempURL) 
    UIApplication.shared.keyWindow?.rootViewController?.present(aViewController, animated: true, completion:nil) 

} 

У меня есть ошибки:

fatal error: unexpectedly found nil while unwrapping an Optional value

ответ

1

первую очередь вы не можете передавать данные на вашем пути. Вы должны создать экземпляр ViewController с StoryboardID. Я объяснил, как использовать его с this link.

Если вы довольно уверены, ваш additionalData не ноль, вы можете передать данные с StoryboardID.

+0

Спасибо! Это произошло. – Zhanserik

+0

Ваша радушная счастливая кодировка ... – emresancaktar

Смежные вопросы