我能够通过几天前开发的iOS应用程序向Facebook用户墙发布状态更新。然后我可能不小心删除了一些东西,我现在无法发布并收到错误消息。相关代码是A:
message = @"test";
[FBRequestConnection startForPostStatusUpdate:message
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
}
我也尝试了以下方法B:
[FBRequestConnection startWithGraphPath:@"me/feed" parameters:postParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection,id result,NSError *error)
我得到了同样的错误信息:操作无法完成。 (com.facebook.sdk错误5。)“
我也注意到,如果我使用FacebookSDK.h或Facebook.h进行任何一种方法都没关系,两种方法(四种方式)都会得到相同的错误信息。我也想知道为什么FacebookSDK.h足以支持上面两种方法,为什么教程建议弃用Facebook.h。
有趣的是,我去检查另一个测试iOS应用程序,我记得可以发布Facebook状态更新,并发现它也无法发布。有什么想法吗?
答案 0 :(得分:1)
我决定使用iOS6功能SLComposeViewController,这使得发布Facebook状态更新变得轻而易举。
在.m文件中添加社交框架后,您可以这样做:
- (IBAction)clickMe:(UIButton *)sender {
NSLog(@"you clicked me");
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController* myFB = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result) {
if (result == SLComposeViewControllerResultCancelled) {
NSLog(@"cancelled");
} else {
NSLog(@"oh yeah");
}
[myFB dismissViewControllerAnimated:YES completion:nil];
};
myFB.completionHandler = myBlock;
[myFB setInitialText:@"Posting from my app."];
[self presentViewController:myFB animated:YES completion:nil];
}
}