다음 코드를 Facebook 계정에 로그인하고 사용자의 Facebook Wall에 댓글을 달았습니다. 그것은 잘 작동하고 페이 스북 벽에 아래에 언급 한 모든 것을 게시하지만 그것은 예외 및 종료 응용 프로그램을 비정상적으로 던지고있다. 나는 머리를 많이 긁었지만 잘못을 발견하지 못했습니다. 아무도 내 코드에서 잘못된 점을 알려주시겠습니까? 참고 :이 코드를 link1과 link2에서 결합했습니다. 고마워요!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];
}
이 코드에는 어떤 문제도 발견되지 않았습니다. 하지만 NSMutableData 객체 대신 NSDictionary를 사용하려고합니다. NSData에는 "objectForKey :"메서드가 없습니다. 이것은 다른 신청 장소에서 발생할 수 있습니다. – SVGreg
@SVGreg : 실제로 다른 장소는 없습니다! 방금 app-delegate에서 comment 인수를 사용하여 postcomment 메소드를 호출합니다. 또한 데이터베이스에 의견을 보냅니다. 내가 postcomment에 postcomment를 언급하면 모든 것이 잘 작동한다! 페이스 북에 코멘트를 올릴 때의 문제입니다. – applefreak
콜백 메소드를 구현 했습니까? "requestWithMethodName :"에서 자신을 대리인으로 설정했습니다. – SVGreg