2012-08-31 63 views
3

如您所知,您可以显示一些Facebook视图来进行一些操作,例如应用请求,帖子等。有一个委托来管理回调,如:dialogDidComplete:,dialogDidNotComplete:。该视图是这样的: enter image description here如何处理取消Facebook对话框apprequest的按钮?

但是,取消和分享按钮之间没有区别。您将在dialogDidComplete:中获得相同的回拨。管理取消的唯一方法是在角落里的小十字。 在我的情况下,我想要做一些操作,如果用户按下共享,而不是当他按下取消。 私人社交网络路径管理这种情况下,我想知道如何?

你们有什么想法吗?

+0

[这](http://stackoverflow.com/questions/4958912/facebook-api-how-to-cancel-graph-request)可能是一个类似的问题。见韦恩刘的回答。我希望它有帮助。 – jhoanna

回答

6

如果我没看错的:

  • 如果按Share你得到一个requestID早在返回的URL

  • 的一部分,如果您按返回到dialogDidCompleteCancel但它不作为返回的URL的一部分返回requestID

代码:

- (void)dialogCompleteWithUrl:(NSURL *)url { 
    if (![url query]) { 
     NSLog(@"User canceled dialog or there was an error"); 
     return; 
    } 
    } 
+0

可能在共享的情况下,但没有什么比这样的应用程序请求.. –

+0

我还没有尝试过。但是,您可以使用Hackbook示例并将NSLog添加到URL并查看它。这看起来更像是一个实现问题,而不是我们方面的错误。谢谢! –

+0

感谢您的回答,我在您提到的hackbook示例中找到了解决方案。很奇怪取消回调不是在'dialogDidNotCompleteWithUrl:','dialogDidNotComplete:'或'dialog:(FBDialog *)对话框didFailWithError:'中进行的。 –

相关问题