我在我的项目中使用fbconnect api。当登录对话框打开我们输入凭据的位置时,当我点击登录按钮时会执行某些操作并将其重定向到发布页面。 我的问题是我没有得到对该登录按钮执行的操作,因此我可以在那里放置一个指示器。
我附上了一个截图,指明了我正在谈论的按钮。
任何建议都将受到高度赞赏!
答案 0 :(得分:4)
你想偷别人的Facebook密码吗? :)
似乎FBConnect
使用UIWebView
从网页加载网页。这些表单元素不是从代码创建的。因此,您无法访问这些方法/操作。
使用 UIWebViewDelegate 跟踪登录按钮操作:
在webView:shouldStartLoadWithRequest:navigationType:
中的FBDialog.m
委托方法中,您可以看到从登录视图发送的请求。
您可以使用URL
阅读[request.URL absoluteString]
。
检查 URL 是否包含字符串https://www.facebook.com/login.php?m=m
。如果是 YES ,则可能正在发送登录请求。你可以在那里做你的行动。
注意:我不确定这总是有效。您可以进一步研究以找到更好的解决方案。
答案 1 :(得分:1)
当您按下登录按钮时 - 登录请求将仅发送到FB服务器。要获得答案,您需要实现FBSessionDelegate协议:
/**
* Called when the user successfully logged in.
*/
- (void)fbDidLogin;
/**
* Called when the user dismissed the dialog without logging in.
*/
- (void)fbDidNotLogin:(BOOL)cancelled;
/**
* Called when the user logged out.
*/
- (void)fbDidLogout;
另请阅读Facebook.m中的评论: