programing

iOS 애플리케이션에서 쿠키 유지?

projobs 2021. 1. 17. 10:22
반응형

iOS 애플리케이션에서 쿠키 유지?


NSHTTPCookieStorageURL에서 검색된 쿠키를 관리하기 위해 iOS 앱에서 사용할 예정 이며 애플리케이션의 런타임 동안 쿠키를 관리한다는 것을 이해합니다. 그러나 응용 프로그램이 닫힌 후에도 쿠키를 유지할 수 있는지 궁금합니다. 그런 다음 앱이 다시 열리면 해당 쿠키를 다시 읽으십시오. 합니까는 NSHTTPCookieStorage응용 프로그램에서 사용하는 사이 쿠키를 지속? 아니면 응용 프로그램 런타임 동안? CoreData이 쿠키를 유지 하려면을 사용해야 합니까?`


앱이로드 될 때 쿠키를 다시 설정해야합니다. 다음과 같은 코드를 사용합니다.

NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:@"MySavedCookies"];
if([cookiesdata length]) {
    NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
    NSHTTPCookie *cookie;

    for (cookie in cookies) {
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    }
}

잘 작동합니다.


다른 답변에서 제안한대로 쿠키를 직접 유지할 필요는 없습니다. NSHTTPCookieStorage쿠키를 유지하지만 쿠키의 만료 날짜가 서버 측에 설정되어 있는지 확인해야합니다.

만료일이없는 쿠키는 '세션 전용'으로 간주되며 앱을 다시 시작하면 삭제됩니다. 에서 BOOL 속성을 통해 '세션 전용'상황을 확인할 수 있습니다 NSHTTPCookie. 이것은 표준 쿠키 항목이며 iOS에만 국한되지 않습니다.

참조 URL : https://stackoverflow.com/questions/4597763/persisting-cookies-in-an-ios-application

반응형