2012-05-04 3 views
0

네트워킹 용 AFNetworking을 사용하는 응용 프로그램이 있습니다. 내가 말하고있는 서비스는 인증을 위해 기본 인증을 사용합니다. 그래서 내 클라이언트에서 setAuthorizationHeaderWithUsername : password : 메서드를 사용하여 사용자 이름과 암호를 설정하면 모든 것이 잘 동작합니다.AF 네트워킹 및 저장 globaly

이제 앱에 '브라우저에서 열기'버튼을 추가해야합니다. 하지만 URL을 호출하면 iPhone/iPad의 Safari에서 사용자가 다시 로그인해야합니다.

기본 쿠키 저장소에 로그인 할 때 얻을 수있는 쿠키를 설정할 수있는 솔루션이 있습니까? 이것은 나에게 쿠키를 제공

NSString* authorization = [client defaultValueForHeader:@"Authorization"]; 
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary]; 
[cookieProperties setObject:@"myCookie" forKey:NSHTTPCookieName]; 
[cookieProperties setObject:authorization forKey:NSHTTPCookieValue]; 
[cookieProperties setObject:@"www.the.server" forKey:NSHTTPCookieDomain]; 
[cookieProperties setObject:@"www.the.server" forKey:NSHTTPCookieOriginURL]; 
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath]; 
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];    
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires]; 

NSHTTPCookie* cookie = [[NSHTTPCookie alloc] initWithProperties:cookieProperties]; 
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

,하지만 내 아이폰/아이 패드 사파리에서 URL을 열 때 그것은

모든 API 호출에서이 거기를 작동하지 않습니다 : 내가 지금까지 시도 무엇

이있다 AFNetworking이이를 처리 할 것인가? 아니면 수동으로 직접 할 수있는 방법이 있습니까?

답변

1

아니를 돕는

덕분에, 각 응용 프로그램은 자신의 샌드 박스가 있습니다. Safari와 쿠키를 공유 할 수있는 방법은 없습니다.