这就是我所做的
- 在 Facebook 上创建了一个应用
- 安装了满足所有要求的 FB SDK
- 通过登录按钮登录用户
- 现在我正在尝试使用此处提供的来自此威胁的代码进行发布 How to Post to Facebook on iOS 6 in Objective-C using ACAccountStore class
但是什么也没发生。我是不是漏掉了一步?
这是我正在使用的代码
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) //check if Facebook Account is linked
{
mySLComposerSheet = [[SLComposeViewController alloc] init]; //initiate the Social Controller
mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; //Tell him with what social plattform to use it, e.g. facebook or twitter
[mySLComposerSheet setInitialText:[NSString stringWithFormat:@"Test",mySLComposerSheet.serviceType]]; //the message you want to post
[mySLComposerSheet addImage:yourimage]; //an image you could post
//for more instance methodes, go here:https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/SLComposeViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40012205
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
}
[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
NSString *output;
switch (result) {
case SLComposeViewControllerResultCancelled:
output = @"Action Cancelled";
break;
case SLComposeViewControllerResultDone:
output = @"Post Successfull";
break;
default:
break;
} //check if everything worked properly. Give out a message on the state.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
}];
最佳答案
您的setInitialText
方法不正确。
如果您使用 stringWithFormat
发布 serviceType,则需要将其添加到带有“%@”的方法中,否则没有任何内容可以显示。
简而言之,只需更改:
[mySLComposerSheet setInitialText:[NSString stringWithFormat:@"Test",mySLComposerSheet.serviceType]];
到:
[mySLComposerSheet setInitialText:[NSString stringWithFormat:@"Test %@",mySLComposerSheet.serviceType]];
关于ios - Facebook 发帖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19061041/