PhoneGap/Cordova:如何获得使用cookie(iOS)



我有一个适用于iOS的PhoneGap/Corodova项目。在iOS模拟器上构建时,我使用了Jquery Cookie,它们很好。但是,现在我的设备上有该应用程序进行测试,它们不再工作。我猜这只是iOS不支持的东西。

有谁知道为iOS做客户端cookie的方法?

PS:我当前的cookie代码(以防万一有用):

<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>

为什么不使用localStorage? ios5支持HTML5功能,如localStorage。

本地存储

把它放在你的应用程序委托中:

-(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]; }
    }

这使得 cookie 在 Cordova 3.4.x 和 ios6+ 中像往常一样工作

最新更新