我正在使用 Ionic Framework 构建应用程序。我的应用需要登录。
问题在于,在 iOS 上,每当用户强制退出应用程序时, session 就会丢失,因此用户必须重新登录。
在这种情况下如何保留 session ?
(相同的 session 逻辑应用于 Android 应用程序,并且运行得非常好,所以我认为它与 iOS 中的强制退出有关)
最佳答案
在 AppDelegate.m
中添加以下代码后,我能够保留 session
- (void)applicationWillTerminate:(UIApplication *)application
{
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
NSData *cookieData = [NSKeyedArchiver archivedDataWithRootObject:cookies];
[[NSUserDefaults standardUserDefaults] setObject:cookieData forKey:@"Cookies"];
}
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
NSData *cookiesData = [[NSUserDefaults standardUserDefaults] objectForKey:@"Cookies"];
if ( [cookiesData length] )
{
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesData];
for ( NSHTTPCookie *cookie in cookies )
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
关于ios - Ionic iOS session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009777/