2015-04-28 2 views
0

Я хочу поделиться фотографией и текстом из приложения на Facebook. Я использовал SLComposeViewController класс для обмена.Строка по умолчанию не отображается в диалоговом окне Facebook

Моя проблема заключается в том, что при нажатии на кнопку Facebook появляется диалоговое окно с изображением, которое я хочу опубликовать, но текст по умолчанию не отображается в устройстве, а в симуляторе он отлично работает. Этот код отлично работает для Twitter как в симуляторе, так и в устройстве. Для большей ясности я добавил код и изображение

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

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result) 
    { 
     if (result == SLComposeViewControllerResultCancelled) 
     { 
      NSLog(@"Cancelled"); 

     } else 
     { 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Congratulations!" message:@"Photo is posted to facebook Wall." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
      [alert show]; 
     } 
     [controller dismissViewControllerAnimated:YES completion:Nil]; 

    }; 

    controller.completionHandler =myBlock; 
    str=[NSString stringWithFormat:@"Text to share"]; 

    [controller setInitialText:str]; 
    [controller addImage:savedImage]; 
    [self presentViewController:controller animated:YES completion:Nil]; 
} 

enter image description here

+0

проверить, что str имеет значение? – vijeesh

+0

@vijeesh - Я уже проверял его значение – Indrajeet

+0

Попробуйте мой код ....... – vijeesh

ответ

0
[email protected]"Text to share"; 

[controller setInitialText:str]; 


      OR 
[controller setInitialText:@"Text to share"]; 

изменить код, как это и попробовать ...

0
- (IBAction)facebookPost:(id)sender { 

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 

     SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

     [mySLComposerSheet setInitialText:@"Social Framework test!"]; 

     [mySLComposerSheet addImage:[UIImage imageNamed:@"myImage.png"]]; 

     [mySLComposerSheet addURL:[NSURL URLWithString:@"http://stackoverflow.com"]]; 

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

Попробуйте это ....... . Это то, что я сделал для своего проекта