2015-04-29 11 views
20

Das folgende Code-Snippet ist der Rückruf für eine Schaltfläche auf dem Bildschirm. Das Facebook-Blatt wird angezeigt, enthält jedoch keinen Text. Wenn Sie jedoch SLServiceTypeFacebook durch SLServiceTypeTwitter ersetzen, wird der ursprüngliche Text angezeigt. Ich verwende XCode 6.3.1 und iOS 8.3 auf einem iPhone 6. Vielen Dank im Voraus.setInitialText-Methode in SLComposeViewController iOS 8.3 zeigt keinen Text in Facebook-Blatt

-(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]; 
    } 
}   
+0

Der ursprüngliche Text aus dem Dialogfacebook entfernt wird hat ein Problem, da Facebook die neueste Update werden. Du bist nicht allein. –

+0

Mit dem gleichen Problem in ios8.2 konfrontiert und auch noch keine Lösung gefunden. –

+0

Das gleiche Problem hier habe ich 8.0 –

Antwort

15

Wenn Sie die Facebook App auf dem Gerät löschen, wird der ursprüngliche Text angezeigt.

+13

Löschen der Facebook-App auf meinem iPhone ermöglicht die Initial Text angezeigt werden. Ich kann meine Nutzer jedoch nicht bitten, ihre Facebook-App zu löschen, damit sie ihr Ergebnis auf Facebook posten können. –

+0

Möglicherweise möchten Sie eine benutzerdefinierte Benutzeroberfläche für Ihren Fall haben. Bitte denken Sie daran, dass Sie Ihre App für die Facebook-Überprüfung einreichen müssen. Ich hatte auch dieses Problem gegooglet, aber leider habe ich keine Dokumentation darüber gefunden. – Chrisswong

+0

Ich habe das gleiche Problem in meinem Spiel. Aber um klar zu sein, @Chrisswong, sagst du, dass wir unsere Apps bei Facebook registrieren müssen, um dieses Problem zu beheben? –

1

Es funktioniert tatsächlich, wenn Sie den Text innerhalb des Abschluss-Handler gesetzt:

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