首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook应用程序邀请委派混淆

Facebook应用程序邀请委派混淆
EN

Stack Overflow用户
提问于 2012-12-18 22:12:41
回答 1查看 303关注 0票数 1

我正在从我的iOS应用程序发送一个Facebook app-invite,并尝试使用块实现一个成功/失败流程。

我已经创建了一个类来包装我与Facebook SDK的通信,它公开了一个send invite方法。

在该方法中,我有以下代码:

代码语言:javascript
复制
[self.facebook dialog:@"apprequests"
            andParams:params
          andDelegate:self];

documentation中所述。

我的包装类符合FBDialogDelegate协议,并且我已经实现了5个委托方法:

代码语言:javascript
复制
dialog:(FBDialog *)dialog didFailWithError:(NSError *)error, 
dialogCompleteWithUrl:(NSURL *)url, 
dialogDidComplete:(FBDialog *)dialog, 
dialogDidNotCompleteWithUrl:(NSURL *)url 
dialogDidNotComplete:(FBDialog *)dialog

问题是,无论用户是取消对话框还是发送请求,唯一被调用的方法是dialogCompleteWithUrl:(NSURL *)url方法。有人能解释这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-22 03:11:12

这似乎是一个悬而未决的问题,已经reported了几个times。事实上,当用户按下cancel按钮时调用didComplete确实是一个有效的操作,所以调用didComplete是经过设计的。

因此,为了回答你的问题,如果用户按下'x‘按钮,它应该调用didNotComplete。用户按下send或cancel将调用didComplete,因为它是这样设计的。

但是,FBDialog的this person came up with a good workaround可能会做类似的事情,比如检查成功时的URL值与用户按下取消时的URL值,并使用if检查来检查这种情况。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13934815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档