我需要授权在应用内访问Facebook,因为我需要将Cookie存储在应用稍后可以使用的位置。所以我希望自动化在webview中进行,而不需要重定向到safari。经过一些研究后,我看到了这个问题的一些答案,其中包括更改以下行:
[self authorizeWithFBAppAuth:YES safariAuth:YES];
到
[self authorizeWithFBAppAuth:NO safariAuth:NO];
然而,这对我不起作用。它不再重定向到safari,但也不会打开webview。我错过了什么吗?
表示,在重定向到safari时,与facebook的连接正常工作正常。提前致谢!
修改
借助FBDialog.m代码中的断点,我可以看到正在调用方法webViewDidFinishLoad:
,因此我认为它正在按预期工作。但是,我还将行NSLog(@"view %@",self);
添加到FBDialog.m中init
方法的末尾,该方法在控制台中生成文本:
view <FBLoginDialog: 0x4e316f0; frame = (0 0; 0 0); autoresize = W+H; layer = <CALayer: 0x4e321c0>>
正如你所看到的那样,框架的宽度和高度是0,0。这可能是UIWebView永远不会出现的原因吗? 一点帮助将不胜感激。
答案 0 :(得分:2)
我发现了问题。我在窗口的authorize
方法之前调用了facebook对象的makeKeyAndVisible
方法。