默认字符串在 Facebook 对话框中不可见 [重复]
Posted
技术标签:
【中文标题】默认字符串在 Facebook 对话框中不可见 [重复]【英文标题】:Default string is not visible in Facebook dialog box [duplicate] 【发布时间】:2015-04-28 06:15:02 【问题描述】:我想在 Facebook 上分享应用程序中的照片和一些文字。我使用SLComposeViewController
类进行分享。
我的问题是,当我点击 Facebook 按钮时,会出现一个对话框,其中包含我要发布的图像,但默认文本在模拟器中没有出现在设备中,它工作得非常好。此代码在模拟器和设备中都适用于 Twitter。为了更清楚,我添加了代码和图像
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result)
if (result == SLComposeViewControllerResultCancelled)
NSLog(@"Cancelled");
else
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Congratulations!" message:@"Photo is posted to facebook Wall." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
[controller dismissViewControllerAnimated:YES completion:Nil];
;
controller.completionHandler =myBlock;
str=[NSString stringWithFormat:@"Text to share"];
[controller setInitialText:str];
[controller addImage:savedImage];
[self presentViewController:controller animated:YES completion:Nil];
【问题讨论】:
检查 str 是否有值? @vijeesh - 我已经验证它有一个值 问题出在 Facebook 的某个地方,在他们最后一次更新之后,SLComposeViewController 坏了一半。我所有的应用程序现在都显示空的 SLComposeViewController。 【参考方案1】:str=@"Text to share";
[controller setInitialText:str];
OR
[controller setInitialText:@"Text to share"];
像这样更改您的代码并尝试...
【讨论】:
【参考方案2】:- (IBAction)facebookPost:(id)sender
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySLComposerSheet setInitialText:@"Social Framework test!"];
[mySLComposerSheet addImage:[UIImage imageNamed:@"myImage.png"]];
[mySLComposerSheet addURL:[NSURL URLWithString:@"http://***.com"]];
[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result)
switch (result)
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
NSLog(@"Post Sucessful");
break;
default:
break;
];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
试试这个........这是我为我的项目所做的
【讨论】:
以上是关于默认字符串在 Facebook 对话框中不可见 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
CFBundleUrlTypes 在 Info.plist 中可见,但在它的 XCode 视图中不可见