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
非常喜欢 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];
我正尝试在 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
非常喜欢 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];