Facebook iOS SDK 3.2.1 授权/确认授权时的空白对话框

Posted

技术标签:

【中文标题】Facebook iOS SDK 3.2.1 授权/确认授权时的空白对话框【英文标题】:Facebook iOS SDK 3.2.1 Blank Dialog When Authorizing / Confirming Authorization 【发布时间】:2013-04-02 04:36:47 【问题描述】:

我正在构建一个需要与 ios 5.0 兼容的应用,因此我需要包含 Facebook SDK (v3.2.1) 以便将照片发布到用户的照片中。

我已经在 Facebook 中使用所有正确的信息(id、bundle 等)设置了应用程序,在 plist 中正确设置了 URL 方案(见下面的屏幕截图),应用程序加载了权限对话框并显示了我的应用程序图像等。

模拟器结果: 显示对话框很好,但在按下“确定”时会发出警告“Safari 无法打开页面,因为地址无效”。

设备结果 (iPad): 打开 Facebook 原生应用程序并显示一个对话框,但它是空白的。阅读其他论坛,我发现已经授权的应用程序存在错误,因此我从设备上的 Facebook 设置中删除了该应用程序,然后重试。这次它可以加载对话框,但是当我单击“确定”时什么也不做。

想法?

是的,我包含了这段代码(*注意 - NSLog 永远不会被调用):

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    NSLog(@"Facebook Open URL");
    return [FBSession.activeSession handleOpenURL:url];

Plist 截图:

【问题讨论】:

显示您用于登录的代码。 【参考方案1】:

首先检查您编辑的 .plist 文件。 如果您创建项目时检查了单元测试用例,您的项目中可能会有另一个 .plist 文件。因此,如果您修改 .plist safari 在授权后不会重定向回您的应用程序。这只是一个基本建议,因为我已经遇到过这个问题。

【讨论】:

是的,这不是问题所在。只有一个 plist,没有启用单元测试。【参考方案2】:

检查 .plist 文件,plist safari 可能有解决方案

【讨论】:

以上是关于Facebook iOS SDK 3.2.1 授权/确认授权时的空白对话框的主要内容,如果未能解决你的问题,请参考以下文章

使用 Facebook iOS SDK 的 OAuth2 授权代码

登录并再次授权时如何在iOS SDK中的Facebook应用程序中获取Facebook帐户的更改?

facebook iOS SDK 授权,无需重定向到 safari

在 Parse ios SDK 中重新授权 Facebook 应用程序

facebook iOS sdk 自定义委托和 SSO 授权

iOS Facebook SDK:您已经授权应用程序后出现空白屏幕?