像Vimeo这样的iOS原生应用程序如何将cookie设置为移动Safari?

wei*_*lou 10 iphone privacy mobile-safari ipad ios

我发现Vimeo iOS原生应用程序可以将cookie设置为移动Safari.它是怎么做的?

回购步骤:

1,在iOS设备上安装Vimeo iOS本机应用程序.

2,打开此Vimeo iOS原生应用程序,然后使用您的Vimeo帐户登录.

3,打开移动版Safari,然后打开网页"https://vimeo.com/".您发现自己没有登录Vimeo.

4,打开Vimeo iOS原生应用程序,然后单击左侧导航栏中的"帮助(问号)"图标.您将看到Vimeo的网页帮助中心是通过UIWebView打开的.然后你可以关闭这个帮助中心.

5,打开移动版Safari,然后打开网页"https://vimeo.com/".您发现自己已登录Vimeo.

谢谢.

lna*_*ger 5

如此问题所示,您可以使用NSHTTPCookieStorage该类设置cookie .

编辑:
正如Kitsune指出的那样,文档声明这在iOS中的应用程序之间不会像在OSX中那样起作用.

我现在没有时间对此进行测试,但也许你可以使用javascript和stringByEvaluatingJavaScriptFromString方法设置一个cookie UIWebView,它将被共享?这是我在互联网上找到的一个可以被称为的功能:

function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}
Run Code Online (Sandbox Code Playgroud)

  • 根据`NSHTTPCookieStorage`的文档:_iOS注意:在iOS中的应用程序之间不共享Cookie._ (5认同)