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

Posted

技术标签:

【中文标题】facebook iOS SDK 授权,无需重定向到 safari【英文标题】:facebook iOS SDK authorization without redirect to safari 【发布时间】:2011-09-23 08:48:15 【问题描述】:

我需要在应用程序中授权访问 facebook,因为我需要将 cookie 存储在以后可以由应用程序使用的地方。所以我希望自动化在 web 视图中进行,而不需要重定向到 safari。经过一番研究,我看到了这个问题的一些答案,其中包括更改以下行:

[self authorizeWithFBAppAuth:YES safariAuth:YES];

[self authorizeWithFBAppAuth:NO safariAuth:NO];

但是,这对我不起作用。它不再重定向到 safari,但也不会打开 web 视图。我错过了什么吗?重定向到 safari 时,与 facebook 的连接工作正常,因此 SDK 应该已安装好。

提前致谢!

编辑

借助 FBDialog.m 代码中的断点,我可以看到方法 webViewDidFinishLoad: 正在被调用,因此我假设它按预期工作。但是,我还在 FBDialog.m 中 init 方法的末尾添加了行 NSLog(@"view %@",self);,这会在控制台中生成文本:

view <FBLoginDialog: 0x4e316f0; frame = (0 0; 0 0); autoresize = W+H; layer = <CALayer: 0x4e321c0>>

如您所见,框架的宽度和高度为 0, 0。这可能是 UIWebView 从未显示的原因吗? 非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

我发现了问题。我在窗口的makeKeyAndVisible方法之前调用了facebook对象的authorize方法。

【讨论】:

我有同样的问题..我使用 SDK 示例 ..sessionLoginSample 那个..我需要做哪些改变?到没有重定向到野生动物园

以上是关于facebook iOS SDK 授权,无需重定向到 safari的主要内容,如果未能解决你的问题,请参考以下文章

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

Facebook iOS 9 SDK 登录重定向到 Safari 上的 mbasic.facebook.com

iOS Facebook SDK 3.0 登录未重定向到原始应用程序

如何在 iOS 应用程序中集成 Facebook/Google+ 而无需重定向 Safari 浏览器

iOS Facebook SDK 在设备上进行身份验证后未重定向

IOS SWIFT:你已经授权了facebook ios