2009-12-03 4 views
1

쿠키를 저장해야하는 앱을 작성 중입니다.iPhone 쿠키 관리

제 계획은 다음과 같습니다.

 
// create a ref to shared storage area 

NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 

// query the current acceptpolicy (ie want to store it for later...) 

[cookieJar cookieAcceptPolicy];  /******** This line crashes app ********/ 

[cookieJar setcookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

NSArray *mycookies = [cookieJar cookies]; 

..... do more stuff 
..... change it back.... 

문제는 나중에 사용하기 위해 cookieAcceptPolicy의 결과를 저장하는 방법을 알아낼 수 없습니다입니다. 문서는 - (NSHTTPCookieAcceptPolicy)cookieAcceptPolicy을 보여줍니다, 나에게 이해가되지 않습니다.

감사합니다.

+0

"Crashes app"은 쓸모가 없으며 디버거에서 실행하고 충돌하는 이유를 확인하십시오. –

답변

2

설명서에 실제로 - (NSHTTPCookieAcceptPolicy)cookieAcceptPolicy이 표시됩니다. 즉, NSHTTPCookieAcceptPolicy와 같은 열거 형 typedef의 값을 반환합니다. 따라서 다음과 같이됩니다.

NSHTTPCookieAcceptPolicy currentPolicy = [cookieJar cookieAcceptPolicy]; 
[cookieJar setCookieAcceptPolicy: NSHTTPCookieAcceptPolicyAlways]; 

//do stuff 

//change it back 
[cookieJar setCookieAcceptPolicy: currentPolicy]; 

이 작동해야합니다. 귀하의 앱이 "크래시"하는 이유는 귀하의 앱이 다운 된 줄 아래의 줄에있는 setCookieAcceptPolicy 메소드의 소문자 'c'때문입니다. 당신은 확실히 컴파일 타임에 이것에 대한 경고를 받게 될 것입니다 ... 미래에 저는 여러분에게 오류가 없지만 경고가없는 objective-C 코드를 위해 노력할 것을 권고합니다. 왜냐하면 타입 체크는 동적으로는 불가능할 것이므로, 유형화 된 언어.