[英]Facebook Integration With iOS6
我正在使用以下代码在 Facebook 上发布一些内容。
- (IBAction)post:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
mySocialComposer = [[SLComposeViewController alloc]init];
mySocialComposer = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySocialComposer setInitialText:@"Hellooooooo World"];
[mySocialComposer addImage:[UIImage imageNamed:@"image.jpg"]];
[self presentViewController:mySocialComposer animated:YES completion:nil];
[mySocialComposer setCompletionHandler:^(SLComposeViewControllerResult result){
NSString *outout = [[NSString alloc] init];
switch (result) {
case SLComposeViewControllerResultCancelled:
outout = @"Post Cancled";
break;
case SLComposeViewControllerResultDone:
outout = @"Post Successfull";
default:
break;
}
UIAlertView *myalertView = [[UIAlertView alloc]initWithTitle:@"FaceBook"
message:outout delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[myalertView show];
}];
}
}
我正在使用上述方法从 iOS 应用程序在 Facebook 上发布。如果我发布的内容包括图片和一些文本,则它成功地发布在 Facebook 上。 但是,当我尝试在没有图片的情况下在 Facebook 上发帖时,我只是为了这个目的而注释掉了以下行。
[mySocialComposer addImage:[UIImage imageNamed:@"image.jpg"]];
在此过程中,我收到一条错误警报,提示无法发送此帖子,因为与 Facebook 的连接丢失。 有什么方法可以在没有图片的情况下在 Facebook 上发帖。 提前致谢。
您可以将添加图像设置为零。 你应该可以发帖了。
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController* mySocialComposer = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySocialComposer setInitialText:@"Hellooooooo World"];
[mySocialComposer addImage:nil];
[self presentViewController:mySocialComposer animated:YES completion:nil];
[mySocialComposer setCompletionHandler:^(SLComposeViewControllerResult result){
NSString *outout = [[NSString alloc] init];
switch (result) {
case SLComposeViewControllerResultCancelled:
outout = @"Post Canceled";
break;
case SLComposeViewControllerResultDone:
outout = @"Post Successfull";
default:
break;
}
根据 Apple 关于SLComposeViewController的官方文档,您会看到它说
返回值
返回一个布尔值,指示文本是否已成功设置。 讨论
如果文本不适合当前可用的字符空间或视图控制器已经呈现给用户(因此无法更改),则此方法返回 NO。 字符限制取决于目标服务并由服务提供商记录。 有关受支持服务的文档链接,请参阅 SLRequest 类参考中的“表 1 社会服务个人文档站点”。
因此,如果该控制器已经显示,它将无法工作。 尝试不同的文本并再次查看。
你能去掉吗
mySocialComposer = [[SLComposeViewController alloc]init];
你不应该那样做。
[mySocialComposer setInitialText:@"Hellooooooo World"];
[mySocialComposer addImage:[UIImage imageNamed:@"image.jpg"]];
[self presentViewController:mySocialComposer animated:YES completion:nil];
在设置完成处理程序后放置这些代码行。
还要从那里删除 UIAlertView 并将其放在完成处理程序中以用于错误情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.