iOS JS交互之cookie设置与清空

iOS JS交互之cookie设置与清空
项目开发中,由于JS交互这块,Android先行。所以这块机制也都是按照Android的实现去弄的。之前也有做过JS交互这一块,但是用的是url捕捉的形式,参数传递也都是通过接口连接拼接的形式。
今天简单记录下iOS JS交互中的cookie的用法。cookie主要就是相当于接口拼接的传递参数的功能。(后续会更新iOS JS交互之仿Android addJavaScriptInterface原理,实现JS交互效果的相关文章,敬请期待)
一、cookie调用
//设置cookie(调用)

//参数说明: url是NSString类型 
        [self setCookie:url AndKey:@"isApp" AndValue:@"true"];

二、设置cookie的方法

#pragma mark -
#pragma mark 设置cookie
- (void)setCookie:(NSString *)url AndKey:(NSString *)key AndValue:(NSString *)value
{
    if (url) {
        NSString * cookieUrl = @"";
        //kBaseURL  kBaseH5URL   图片地址:FirstURL
        if ([url containsString:kBaseH5URL]) {
            cookieUrl = kBaseH5URL;
        }else if ([url containsString:FirstURL])
        {//图片地址
            cookieUrl = FirstURL;
        }
        NSURL * tempUrl = [NSURL URLWithString:url];
        //设置cookie 注意,所有值都是NSString类型的
        NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
        [cookieProperties setObject:key forKey:NSHTTPCookieName];//名称
        [cookieProperties setObject:value forKey:NSHTTPCookieValue];//值
        [cookieProperties setObject:[tempUrl host] forKey:NSHTTPCookieDomain];//域
//        [cookieProperties setObject:url forKey:NSHTTPCookieOriginURL];
//        [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];//路径
        [cookieProperties setObject:[tempUrl path] forKey:NSHTTPCookiePath];//路径
        [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];//cookie版本0
//        [cookieProperties setObject:@"30000" forKey:NSHTTPCookieMaximumAge];//有效期
        NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
        NSLog(@"设置cookie key=%@,value=%@",key,value);
    } else
    {
        return;
    }
}

(PS:设置cookie参考了博文链接

三、清空cookie的方法
#pragma mark -
#pragma mark 删除cookie
- (void)deleteCookie
{
    NSLog(@"============删除cookie===============");
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];

    //删除cookie
    for (NSHTTPCookie *tempCookie in cookies) {
        [cookieStorage deleteCookie:tempCookie];
    }

    //把cookie打印出来,检测是否已经删除
    NSArray *cookiesAfterDelete = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
    for (NSHTTPCookie *tempCookie in cookiesAfterDelete) {
        NSLog(@"cookieAfterDelete: %@", tempCookie);
    }
    NSLog(@"\n");
}

删除cookie参考了博文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值