在应用程序中将Cookie从应用程序设置为Safari

时间:2015-11-13 08:41:45

标签: ios objective-c cookies safari

在我的应用程序中,我需要实现下一个功能:当用户在应用程序中登录时,它(应用程序)需要将某些网站的cookie(或任何其他数据)保存到移动Safari。目标是在用户下次在Safari中打开该网站时不要让用户登录。

Documentation表示无法使用Cookie在iOS上完成。有人知道其他任何解决方案吗?实施的必要特征是使其“默默地”#39;用户,无需打开Safari。

更新

是否可以从移动版Safari访问应用数据并获得一些回调?例如,当用户浏览网站时,该网站会向应用程序发送一些回调并获得用户的回复。数据

2 个答案:

答案 0 :(得分:0)

您无法访问safari Cookie。

  

无法从其他应用访问Safari的Cookie。每个应用程序都给出   它自己的WebKit缓存和cookie存储,因此cookie将持续存在   在同一个应用中,应用之间无法访问它们。

答案 1 :(得分:0)

旧问题,但您可以将Safari打开到应用中的特殊一次性URL,该URL将用户带到您托管的页面,传递您从同一服务器上的API检索的令牌,然后使用页面验证令牌和设置曲奇饼?这样,授权在服务器上处理,服务器可以在响应中设置cookie。

您可以在自己的应用中执行此类操作

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://myhost.com/myhandler?token=PX2G16BWFKZBQWUKGF3BGRY2Z6BEJ7Z3PMO2GZ6S3R00JVWBVEO6VWBEXNK14IBJ5GKAY5EKBLAHNSAJ8"]];

然后myhost.com/myhandler上的页面将读取并验证令牌,并在响应时设置cookie,然后使令牌无效。您还可以为令牌的使用时间添加时间限制。