2012-01-25 2 views
0

다음 코드를 Facebook 계정에 로그인하고 사용자의 Facebook Wall에 댓글을 달았습니다. 그것은 잘 작동하고 페이 스북 벽에 아래에 언급 한 모든 것을 게시하지만 그것은 예외 및 종료 응용 프로그램을 비정상적으로 던지고있다. 나는 머리를 많이 긁었지만 잘못을 발견하지 못했습니다. 아무도 내 코드에서 잘못된 점을 알려주시겠습니까? 참고 :이 코드를 link1link2에서 결합했습니다. 고마워요!iPhone : 페이스 북에서 스트림을 게시하는 중에 인식 할 수없는 셀렉터가 인스턴스 예외로 전송되었습니다.

예외 : 페이스 북 코드로

-[NSConcreteMutableData objectForKey:]: unrecognized selector sent to instance 0x34a560 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableData objectForKey:]: unrecognized selector sent to instance 0x34a560' 

로그인 : 벽에

- (void)login { 
    NSLog(@"Logging into Facebook..."); 
    UniversalAppAppDelegate *delegate = (UniversalAppAppDelegate *) [[UIApplication sharedApplication] delegate]; 
    NSArray* requiredPermissions = [NSArray arrayWithObjects:@"read_stream", @"publish_stream", @"offline_access",nil]; 

    if (![[delegate facebook] isSessionValid]) { 
     [delegate facebook].sessionDelegate = self; 
     [[delegate facebook] authorize:requiredPermissions]; 
    } 
}  

게시 :이 코드에 문제가없는 한

- (void)postCommentToFacebookWall:(NSString*)comment 
{ 
    UniversalAppAppDelegate *delegate = (UniversalAppAppDelegate *) [[UIApplication sharedApplication] delegate]; 

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           kAppId, @"api_key", 
           @"This is test message from my iPhone App",@"message", 
           nil]; 

    [[delegate facebook] requestWithMethodName:@"stream.publish" 
            andParams:params 
           andHttpMethod:@"POST" 
           andDelegate:self]; 
} 
+0

이 코드에는 어떤 문제도 발견되지 않았습니다. 하지만 NSMutableData 객체 대신 NSDictionary를 사용하려고합니다. NSData에는 "objectForKey :"메서드가 없습니다. 이것은 다른 신청 장소에서 발생할 수 있습니다. – SVGreg

+0

@SVGreg : 실제로 다른 장소는 없습니다! 방금 app-delegate에서 comment 인수를 사용하여 postcomment 메소드를 호출합니다. 또한 데이터베이스에 의견을 보냅니다. 내가 postcomment에 postcomment를 언급하면 ​​모든 것이 잘 작동한다! 페이스 북에 코멘트를 올릴 때의 문제입니다. – applefreak

+1

콜백 메소드를 구현 했습니까? "requestWithMethodName :"에서 자신을 대리인으로 설정했습니다. – SVGreg

답변

0

. 하지만 NSMutableData 객체 대신 NSDictionary를 사용하려고합니다. NSData에는 "objectForKey :"메서드가 없습니다. 이것은 다른 신청 장소에서 발생할 수 있습니다.

콜백 메소드를 구현 했습니까? "requestWithMethodName :"에서 자신을 대리인으로 설정했습니다.

1

난에 결과를 검색 한 것을 알게 될 때까지 나는이 문제가 있었 :이 방법은 얻을

결과 (ID) :

  • (무효) 요청 : (FBRequest *) 요청 didLoad을 게시 및 로그인/권한 부여시 호출됩니다. 내 권한의 일부로 개체/키를 검색했지만 벽에 게시 할 때 결과가 NSMutableData가 아닌 NSMUtableDict로 반환됩니다. 여기에 열쇠를 검색하지 않도록하십시오.

관련 문제