【问题标题】:setInitialText method in SLComposeViewController iOS 8.3 does not show text in Facebook sheetSLComposeViewController iOS 8.3 中的 setInitialText 方法不在 Facebook 工作表中显示文本
【发布时间】:2015-04-29 12:04:03
【问题描述】:

下面的代码 sn-p 是屏幕按钮的回调。 Facebook 工作表出现,但不包含任何文本。但是,如果将SLServiceTypeFacebook 替换为SLServiceTypeTwitter,它会显示初始文本。我在 iPhone 6 上使用 XCode 6.3.1 和 iOS 8.3。提前谢谢你。

-(IBAction)facebookButton:(id)sender
{
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
    {
        NSString* facebookText = @"Awesome App";
        SLComposeViewController *fbPostSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
        [fbPostSheet setInitialText:facebookText];
        [self presentViewController:fbPostSheet animated:YES completion:nil];
    }
    else{
         UIAlertView *alertView = [[UIAlertView alloc]
                              initWithTitle:@"Unable to Connect to Facebook"
                              message:@"Make sure your device has an internet connection and you have your Facebook account setup in the Settings App"
                              delegate:self
                              cancelButtonTitle:@"OK"
                              otherButtonTitles:nil];
        [alertView show];
    }
}        

【问题讨论】:

  • 自 Facebook 最新更新以来,从 Facebook 对话框中删除的初始文本已成为一个问题。你并不孤单。
  • 在ios8.2中也遇到同样的问题,目前还没有找到解决办法。
  • 同样的问题,我有 8.0

标签: ios objective-c facebook slcomposeviewcontroller


【解决方案1】:

如果您删除设备上的 Facebook 应用,则会出现初始文本。

【讨论】:

  • 在我的 iPhone 上删除 Facebook 应用程序确实允许出现初始文本。但是,我不能要求我的用户删除他们的 Facebook 应用,以便他们可以在 Facebook 上发布他们的分数。
  • 您可能希望为您的案例提供自定义 UI。请提醒您必须提交您的应用以供 Facebook 审核。我也用谷歌搜索过这个问题,但遗憾的是我没有找到任何关于这个的文档..
  • 我在游戏中遇到了同样的问题。但是,要明确一点,@Chrisswong,你是说我们必须在 Facebook 上注册我们的应用程序才能解决这个问题?
  • 为 Facebook 分享制作自己的 UI 允许您为 Facebook 分享提供任何初始文本。但是,您必须在 Facebook developer site 上注册,启用“publish_actions”权限并提交 iOS 模拟器构建以供 Facebook 审核,以便您可以通过 Facebook 分享上线并分享给公众。对于您提供的初始文本,您必须注意此POLICY
  • @Chrisswong 您能否分享您的应用程序的链接,以便我们了解如何创建自定义对话框。几个星期以来,我都被同样的东西吸引住了。谢谢
【解决方案2】:

如果您在完成处理程序中设置文本,它实际上可以工作:

NSString* facebookText = @"Awesome App";
SLComposeViewController *fbPostSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
//[fbPostSheet setInitialText:facebookText];
[self presentViewController:fbPostSheet animated:YES completion:^
{
    [fbPostSheet setInitialText:facebookText];
}];

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    相关资源
    最近更新 更多