我正在尝试执行以下操作:在我的appDelegate中,我正在设置cookie。之后,我正在尝试使用来自webapp的JavaScript读取该cookie。这可能吗?因为我不能让它发挥作用......
这是我在iOS应用中的代码:
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"test" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"yes" forKey:NSHTTPCookieValue];
[cookieProperties setObject:self.siteURL forKey:NSHTTPCookieDomain];
[cookieProperties setObject:self.siteURL forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:9629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
在我的JavaScript中,我使用jquery.cookie插件来编写和阅读cookie。但没有任何东西......这是我的代码:
cookieValue = $.cookie("test");
alert(cookieValue);
警报在正文中有“[object Object]”,并且应该在我的应用中设置“是”值。
你们认为这是可能的吗?
谢谢!
答案 0 :(得分:6)
不可能:第三方应用程序无法访问全局Safari cookie缓存,因为这将是一个重要的安全漏洞。如果您需要向Safari发送cookie信息,最好在Safari中使用cookie详细信息作为请求参数启动URL,然后在该URL末尾创建脚本并创建cookie并将其发回。
编辑:如果您想光滑,可以为您的iOS应用注册URL处理程序,然后启动您的网络应用程序的URL。让您的网络应用设置Cookie,然后重定向回应用网址。