3

iOS用のPhoneGap/Corodovaプロジェクトがあります。iOSシミュレーターで構築している間、私はJquery Cookiesを使用しましたが、それらは問題ありませんでした。ただし、テスト用のアプリがデバイスにインストールされたため、機能しなくなりました。これは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>
4

2 に答える 2

2

localStorageを使用してみませんか?ios5は、localStorageなどのHTML5機能をサポートしています。

ローカルストレージ

于 2012-09-16T06:57:03.353 に答える
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]; }

    }

これにより、Cordova3.4.xおよびios6+でCookieが通常どおり機能するようになりました。

于 2014-03-23T13:30:24.113 に答える