我想在iOS上使用简单的WKWebView
从PWA制作一个应用程序。我已经设法在一个简单的ViewController
中实现了它,并且它运行得很好。
问题:当我登录然后退出应用程序时,会话丢失,我必须再次登录。
问题:用户退出应用程序后,是否可以保留会话信息?
提前感谢您的回答!
您需要研究持久化会话数据。对于WKWebView
,所有这些都是WKProcessPool
的一部分。因此,当您的应用程序进入后台时,您需要考虑持久化WKProcessPool
会话,并且当您使用web视图时,始终使用相同的WKProcessPool
实例。
以下是一个可以帮助您将数据保存到UserDefaults的答案。https://stackoverflow.com/a/52109021/2658489
我认为您应该实现登录API,以便在Native App上进行授权和登录UI,然后您可以使用单个WKWebView控制器来拥有仪表板项。
当用户使用本机页面loginViewController登录时,您应该将用户名、密码(可能已加密(存储在用户首选项中,例如。
UserDefaults.standard.set(userName, forKey: keyUserName)
UserDefaults.standard.set(userPassword, forKey: keyPassword)
UserDefaults.standard.synchronize()
下次(退出应用程序后(当你回来时,你可以在AppDelegate中检查自动登录-didFinishLaunchingWithOptions例如
if let username = UserDefaults.standard.value(forKey: keyUserName) as? String,
password = UserDefaults.standard.value(forKey: keyPassword) as? String
{
/// DO AUTOLOGIN .. CALL API AND LAND TO DASHBOARD PAGE (WKWebView)..
}