2015-04-28 25 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]; 
    } 
} 

試試這個.......這是我爲我的項目做的