HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 是否接受UIWebView中的Cookie?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_944_0@
我必须质疑你.

1:我在iPhone App中使用UIWebViews.我不知道用户可以在新闻中添加评论.但是,要评论他们必须登录.

如果没有,我如何在UIWebViews中接受cookies?

2:UIWebView中创建的Cookie是否可以在其他视图中的其他UIWebView中使用?

例如:我有我的LoginViewController,嵌入式UIWebView,我的用户可以登录/注销.如果他们在此视图中登录,该Cookie将仍然可以在CommentViewController中使用?

如果没有,我该如何做到这一点?

提前致谢 !

解决方法

UIWebView将自动将Cookie存储在[NShttpCookieStorage sharedhttpCookieStorage]集合中,并且应该在应用程序启动期间在应用程序的所有其他UIWebView中可用.但是,UIWebView类不会自动存储应用程序启动之间加载的@L_673_12@的Cookie.当应用程序移动到后台时,您需要手动存储Cookie,并在应用程序返回到前台时重新加载值.

将以下代码放在AppDelegate类中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //Other exisTing code

    [self loadhttpCookies];
    return YES;
}

- (void)applicationDidEnterBACkground:(UIApplication *)application
{
    //Other exisTing code

    [self savehttpCookies];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [self loadhttpCookies];
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    //Other exisTing code
    [self savehttpCookies];
}

-(void)loadhttpCookies
{
    NSMutableArray* cookieDictionary = [[NSUserDefaults standardUserDefaults] valueForKey:@"cookieArray"];

    for (int i=0; i < cookieDictionary.count; i++)
    {
        NSMutableDictionary* cookieDictionary1 = [[NSUserDefaults standardUserDefaults] valueForKey:[cookieDictionary objectATindex:i]];
        NShttpCookie *cookie = [NShttpCookie cookieWithProperties:cookieDictionary1];
        [[NShttpCookieStorage sharedhttpCookieStorage] setCookie:cookie];
    }
}

-(void)savehttpCookies
{
    NSMutableArray *cookieArray = [[NSMutableArray alloc] init];
    for (NShttpCookie *cookie in [[NShttpCookieStorage sharedhttpCookieStorage] cookies]) {
        [cookieArray addObject:cookie.name];
        NSMutableDictionary *cookieProperties = [NSMutableDictionary Dictionary];
        [cookieProperties setObject:cookie.name forKey:NShttpCookiename];
        [cookieProperties setObject:cookie.value forKey:NShttpCookieValue];
        [cookieProperties setObject:cookie.domain forKey:NShttpCookieDomain];
        [cookieProperties setObject:cookie.path forKey:NShttpCookiePath];
        [cookieProperties setObject:[NSnumber numberWithUnsignedInteger:cookie.version] forKey:NShttpCookieVersion];
        [cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NShttpCookieExpires];

        [[NSUserDefaults standardUserDefaults] SETVALue:cookieProperties forKey:cookie.name];
        [[NSUserDefaults standardUserDefaults] synchronize];

    }

    [[NSUserDefaults standardUserDefaults] SETVALue:cookieArray forKey:@"cookieArray"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

大佬总结

以上是大佬教程为你收集整理的ios – 是否接受UIWebView中的Cookie?全部内容,希望文章能够帮你解决ios – 是否接受UIWebView中的Cookie?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。