facebook样本中出现异常

时间:2012-09-07 00:00:52

标签: iphone ios xcode

  

* 由于未捕获的异常'NSInvalidArgumentException'而终止应用,原因:' - [Facebook   authorize:delegate:]:发送到实例的无法识别的选择器   0x684fe80'

- (void)loginToFacebook:(id) loginDelegate
{
    NSLog(@"login facebook method");

    fbServiceRequestingobj = loginDelegate;

    NSArray* permissions = [[NSArray alloc] initWithObjects:@"publish_stream", nil];
    [facebook authorize:permissions delegate:self];

}

2 个答案:

答案 0 :(得分:1)

消息非常简单:您设置为委托的参数loginDelegate不响应选择器。在设置时验证参数:

- (void)loginToFacebook:(id)loginDelegate
{
  assert([loginDelegate respondsToSelector:@selector(authorize:delegate:)]);
在这种情况下,有可能是好的,有问题的选择器是您期望采用的协议的@required方法。如果是这样,那么您作为loginDelegate传递的参数将需要实现协议中声明的方法authorize:delegate:

采用协议时,如果您没有实现所需的方法,编译器会通知您。

答案 1 :(得分:0)

[facebook authorize:permissions delegate:self];

“facebook”对象是否存在此方法?我想象不会,因为它崩溃说这个方法不存在,因此“无法识别的选择器被发送到实例”。