这是一个非常奇怪的错误。登录时,facebook对象不在设备上的safari上存储任何cookie,但它在模拟器上。我怎么知道?Facebook iOS SDK不存储访问Cookie
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
NSString* domainName = [cookie domain];
NSLog(domainName);
NSRange domainRange = [domainName rangeOfString:@"facebook"];
if(domainRange.length > 0)
{
[storage deleteCookie:cookie];
}
}
在模拟器上运行时,我可以看到两个cookie的名称。我在设备上得到零。即使使用来自Facebook的DemoApp也会发生这种情况。 我不知道这是从哪里来的,所以我真的不知道我可以提供哪些信息以使帖子更完整。请,请求我任何我现在失踪的东西。代码只是从DemoApp,我没有改变/添加/删除任何东西。
谢谢。
这仍然是这种情况吗?我想知道现在是否有办法解决这个问题,因为要求用户登录两次是相当烦人的... – Smikey
是的 - 我没有看到这个变化。 Facebook身份验证过程实际上是获取令牌,因此您可以使用API - 浏览器Cookie是一个附带好处。 FB应用程序为您提供身份验证令牌,以通过单点登录使用API调用,从而将浏览器Cookie视为另一项任务。身份验证令牌是您的应用使用有限权限登录的功能 - 而浏览器Cookie对于用户来说就是城堡的关键字。 – giff