Ich versuche, einen Text auf Facebook mit SLServiceTypeFacebook unter IOS zu teilen. 8.3. Das Popup-Textfeld wurde jedoch leer angezeigt. Ich möchte, dass es mit Text darin angezeigt wird. Unten sehen Sie den Code, den ich dafür verwende.
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[self presentViewController:controller animated:YES completion:Nil];
}
Es scheint ein Problem zu sein, nachdem das neueste Update der Facebook-App (V29) installiert wurde. Durch das Entfernen wird das Problem "behoben".
https://developers.facebook.com/bugs/1632385646995079/https://developers.facebook.com/bugs/962985360399542/
Update (3. Juni 2015)
Gut. Es scheint, dass die neue Facebook-Richtlinie besagt, dass das Einfügen einer Nachricht durch setInitialText:
eine Vorabverletzung ist.
https://developers.facebook.com/docs/apps/review/prefill
Ich denke, der einzige Weg, Inhalte ab sofort zu teilen, ist die FBSDKShareDialog
Ich muss die Effizienz von Facebook lieben. Bin etwas spät dran, kann aber jemandem helfen.
#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];
Vor setInitialText muss #
vor diesem Test hinzugefügt werden. Code unten. Es arbeitet für mich
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];