前提・実現したいこと
アプリがバックグランドの状態(Background)で、通知からアプリが起動した時に
SFSafariViewController
を使って特定のURLを開き
その後完了(done)を押すと、
func applicationDidBecomeActive(UIApplication)
で表示されるViewに飛びたいです。
発生している問題・エラーメッセージ
下記のようにUIWindow
のrootViewController
にSFSafariViewController
を指定すると
表示はされるのですが、
完了(done)を押しても何も反応せず、SFSafariViewController
が消えません。
多分その下に何もないからだと思うのですが、どのように実装して良いか困っています。
よろしくお願いします。
Swift
1let viewController = SFSafariViewController(url: URL(string: "https://www.yahoo.co.jp/")!) 2window?.rootViewController = viewController 3window?.makeKeyAndVisible()
該当のソースコード
AppDelegate.swift
Swift
1func userNotificationCenter(_: UNUserNotificationCenter, 2 didReceive response: UNNotificationResponse, 3 withCompletionHandler completionHandler: () -> Void) { 4 let userInfo = response.notification.request.content.userInfo 5 window = UIWindow() 6 navigationController = UINavigationController() 7 let navigator = DefaultAppNavigator(window: window, 8 navigationController: navigationController) 9 navigator.toYahoo() 10 } 11 12 completionHandler() 13 }
AppNavigator.swift
func toYahoo() { let viewController = SFSafariViewController(url: URL(string: "https://www.yahoo.co.jp/")!) window?.rootViewController = viewController window?.makeKeyAndVisible() }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。