Facebook SSO IOS 不返回应用
Posted
技术标签:
【中文标题】Facebook SSO IOS 不返回应用【英文标题】:Facebook SSO IOS do not return to app 【发布时间】:2012-09-20 07:21:53 【问题描述】:我们在应用程序中使用 Facebook SSO。单击 Facebook 登录应用程序转到 Facebook 应用程序,显示登录。但是登录后它不会返回到应用程序。但是,如果用户已经登录 Facebook 应用程序,则单击登录按钮会切换到 Facebook 应用程序并显示权限对话框。单击允许它返回到应用程序。这是默认行为吗?或者我的代码或我们的 Facebook 应用设置有什么问题吗?提前致谢。
SHAppDelegate *appDelegate = [SHAppDelegate application];
NSArray * permissions = [[NSArray alloc]initWithObjects:FACEBBOK_PERMISSION, nil];
if (!appDelegate.session.isOpen)
appDelegate.session = [[[FBSession alloc] initWithPermissions:permissions] autorelease];
if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded)
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
[self updateView];
];
if (appDelegate.session.isOpen)
[appDelegate.session closeAndClearTokenInformation];
else
if (appDelegate.session.state != FBSessionStateCreated)
// Create a new, logged out session.
appDelegate.session = [[FBSession alloc] init];
// if the session isn't open, let's open it now and present the login UX to the user
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
// and here we make sure to update our UX according to the new session state
[self updateView];
];
【问题讨论】:
问题可能出在 plist 中。检查这个:***.com/questions/10625210/… 这是 Facebook 端的一个已知问题。你可以在这里关注它: 【参考方案1】:我也有同样的问题。这不是 .plist 的麻烦 - 没有 URLSchemes(with fbXXXXX) facebook 应用程序和 safari 永远不会返回给您的应用程序。 在这种情况下,Faccebook 应用程序仅在用户未登录时才返回。 Safari 可以正确处理这种情况。如果用户取消权限确认,Facebook 应用程序不会返回控制权。 在其他情况下,没关系。
【讨论】:
以上是关于Facebook SSO IOS 不返回应用的主要内容,如果未能解决你的问题,请参考以下文章
使用 Facebook iOS 应用将 Xamarin 应用与 Facebook SSO 集成
Facebook iOS - 在 SSO 上禁止应用程序然后卸载应用程序时出错