SLServiceTypeFacebook setInitialText 不工作

SLServiceTypeFacebook setInitialText is not working

我正尝试在 IOS 8.3 上使用 SLServiceTypeFacebook 在 Facebook 上分享文本。但是弹出文本框显示为空。我希望它与文本一起显示。您可以在下面看到我为此使用的代码。

 if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
 {
       SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

       [controller setInitialText:@"First post from my iPhone app"];
       [self presentViewController:controller animated:YES completion:Nil];
  }

安装最新的 Facebook 应用程序更新 (v29) 似乎是一个问题。删除它 "fixes" 问题。

https://developers.facebook.com/bugs/1632385646995079/ https://developers.facebook.com/bugs/962985360399542/

更新(2015 年 6 月 3 日)

嗯。似乎新的 Facebook 政策规定通过 setInitialText: 预填充消息是预填充违规行为。

https://developers.facebook.com/docs/apps/review/prefill

所以我想从现在开始分享内容的唯一方法是 FBSDKShareDialog

https://developers.facebook.com/docs/sharing/ios

非常喜欢 Facebook 的效率。有点晚了,但可能会帮助别人。

#import <FBSDKShareKit/FBSDKShareKit.h>

FBSDKShareLinkContent  *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = self.urlForSocialMedia;
content.contentDescription = self.textForFB;
content.contentTitle = @"Results.";

[FBSDKShareDialog showFromViewController:self
                             withContent:content
                                delegate:self];

在此测试之前,在 setInitialText 之前添加 #。下面的代码。它对我有用

SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [mySLComposerSheet setInitialText:@"#myInitialTextIsHere"];
    [mySLComposerSheet addURL:[NSURL URLWithString:strURL]];

    [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];