2012-06-27 2 views
3

iOS 용 PhoneGap/Corodova Project가 있습니다. iOS 시뮬레이터를 구축하는 동안 Jquery Cookies를 사용했으며 괜찮 았습니다. 그러나 테스트를 위해 기기에 앱이 생겼으므로 더 이상 작동하지 않습니다. 나는 이것이 iOS doesn't가 지원하는 것을 단지 추측하고있다.PhoneGap/Cordova : 사용 쿠키 (iOS)를 얻는 방법?

iOS 용 클라이언트 사이드 쿠키를 사용하는 방법을 아는 사람이 있습니까?

PS : 나의 현재 쿠키 코드 (단지 그것 유용 경우) :

<script type="text/javascript" charset="utf-8" src="js/jquery.cookie.js"></script> 
    <!--STARTUP SCREEN COOKIE SETTER--> 
    <script type="text/javascript"> 
     $(function() { 
     var cookiedate = new Date(); 
     cookiedate.setTime(cookiedate.getTime() + (60 * 60 * 1000)); 
     $.cookie("startupscreen", "checked", { expires: cookiedate, path: '/' }) 
       }); 
    </script> 
+0

이 설정을 시도 작동 할 수 있습니다 -은 https ://groups.google.com/forum/?fromgroups#!topic/phonegap/ZJE1nxX63ow – dhaval

+0

동일한 문제가 있습니다. 쿠키를 AJAX 호출에서 설정하려고하지만 PhoneGap 2.0에서는 NSHTTPCookieStorage 설정이 이미 AppDelegate.m에 있습니다 ...하지만 아무 소용이 없어도 iOS6은 내 .NET MVC3 응용 프로그램에서 쿠키를 설정하지 않습니다. – sonjz

답변

2

왜 로컬 스토리지를 사용하지? ios5는 localStorage와 같은 HTML5 기능을 지원합니다.

localStorage

+0

감사! 로컬 스토리지가 W3C에 의해 중단되어야하기 때문에 이것이 최선의 방법인지 확실하지는 않지만 결국 어떻게되었는지 궁금합니다. – MeltingDog

+0

localStorage는 중단되지 않을 것이며, 중단 될 SQL 데이터베이스입니다. 그러나 사양이 html5에서 제거 되더라도 브라우저는 아마도 이후에도 계속 지원할 것입니다. – weexpectedTHIS

+0

WebSQL 스펙이 더 이상 개발되지 않는 이유는 모두가 실수로 임베디드 SQLite를 표준화했기 때문에 표준을 추가로 밀어 내려는 요점은 ... 어디에도 가지 않아야한다는 것입니다. – XML

1

앱 위임에 여기를 넣어 :

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

} 

and in (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions: 

(NSDictionary*)launchOptions 
// Restore cookies 
    NSData *cookiesData = [[NSUserDefaults standardUserDefaults] objectForKey:@"xapp"]; 
    if (cookiesData) { 
     NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesData]; 
     for (NSHTTPCookie *cookie in cookies) 
     { [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; } 

    } 

이것은 코르도바 3.4.x에서 평소와 같이 작업 쿠키를 만들어 iOS6의 +

+0

4 개의 공백으로 들여 쓰기하여 코드를 포맷 할 수 있습니다 ('{}'버튼을 선택하여 바로 가기로 사용할 수 있습니다). – McDowell

관련 문제