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 浏览器