블로그

[IOS] 웹뷰 사용시 쿠키 동기화

IOS 에서도 웹뷰를 사용시 아래와 같이 처리를 해 주어야 앱을 종료 후 재실행 시에도 쿠키값을 다시 사용가능합니다.

앱 델리게이트 구현 소스에서 아래와 같이 두 메소드에 쿠키 처리를 해 줍니다.

- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
    NSData *cookieData = [NSKeyedArchiver archivedDataWithRootObject:cookies];
    [[NSUserDefaults standardUserDefaults] setObject:cookieData forKey:@"Cookies"];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSData *cookiesData = [[NSUserDefaults standardUserDefaults] objectForKey:@"Cookies"];
    if ( [cookiesData length] )
    {
        NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesData];
        for ( NSHTTPCookie *cookie in cookies )
            [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    }
}

이 후부터는 앱 종료 후 실행 시에도 저장되어 있던 쿠키값을 사용가능합니다.

2017-06-16 목록