在我的应用程序中,我需要实现下一个功能:当用户在应用程序中登录时,它(应用程序)需要将某些网站的cookie(或任何其他数据)保存到移动Safari。目标是在用户下次在Safari中打开该网站时不要让用户登录。
Documentation表示无法使用Cookie在iOS上完成。有人知道其他任何解决方案吗?实施的必要特征是使其“默默地”#39;用户,无需打开Safari。
更新
是否可以从移动版Safari访问应用数据并获得一些回调?例如,当用户浏览网站时,该网站会向应用程序发送一些回调并获得用户的回复。数据
答案 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,然后使令牌无效。您还可以为令牌的使用时间添加时间限制。