2013-07-19 16 views
5

Używam tego kodu do wysyłania wiadomości na Twitterze.SLCOmposeviewcontroller powiadomienie o współdzieleniu Twittera

SLComposeViewController *fbController=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 


if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 
{ 
    SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){ 

     [fbController dismissViewControllerAnimated:YES completion:nil]; 

     switch(result){ 
      case SLComposeViewControllerResultCancelled: 
      default: 
      { 
       NSLog(@"Cancelled....."); 

      } 
       break; 
      case SLComposeViewControllerResultDone: 
      { 
       NSLog(@"Posted...."); 
       UIAlertView *alertView = [[UIAlertView alloc] 
              initWithTitle:@"Success" 
              message:@"Posted Successfully" 
              delegate:self 
              cancelButtonTitle:@"OK" 
              otherButtonTitles:nil]; 
       [alertView show]; 

      } 
       break; 
     }}; 

    [fbController addImage:[UIImage imageNamed:@"1.jpg"]]; 
    [fbController setInitialText:@"Check out this article."]; 
    //[fbController addURL:[NSURL URLWithString:@"http://soulwithmobiletechnology.blogspot.com/"]]; 
    [fbController setCompletionHandler:completionHandler]; 
    [self presentViewController:fbController animated:YES completion:nil]; 
} 

Jeśli użytkownik nie konfiguruje konta Twitter, wyświetla alert, który ma przyciski ustawień i anulowania. Ale nie wyświetla alertu w urządzeniu? Czy ktoś może mi pomóc proszę. Z góry dziękuję .

+0

Ale nie wyświetla alertu w urządzeniu? nie dostaniesz tego, o co pytasz ... :( –

+0

Czy jesteś pewien, że używasz> ios 6.0 w urządzeniu –

+0

Tak, abhilash moje urządzenie iOS jest 6.1.3 – Tendulkar

Odpowiedz

1
BOOL canCompose= [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]; 

    if (canCompose) { 


     SLComposeViewController *fbCompose=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 
     [fbCompose setInitialText:addressLabel.text]; 
     [self presentViewController:fbCompose animated:YES completion:nil]; 
    } 

raz spróbować tego kodu, zamiast używać completionHandler

+0

Proszę sprawdź mój kod koleś Napisałem ten sam kod. poznać wynik wysłania wiadomości – Tendulkar

0

Śledź ten tutorial. tutaj otwórz alert.

http://www.appcoda.com/ios-programming-101-integrate-twitter-and-facebook-sharing-in-ios-6/

- (IBAction)postToTwitter:(id)sender { 
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 
{ 
    SLComposeViewController *tweetSheet = [SLComposeViewController 
              composeViewControllerForServiceType:SLServiceTypeTwitter]; 
    [tweetSheet setInitialText:@"Great fun to learn iOS programming at appcoda.com!"]; 
    [self presentViewController:tweetSheet animated:YES completion:nil]; 
}} 
5

To samo dzieje się z Facebooka udostępniania. Wyjąć Test:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 

Jeżeli konto Twitter użytkownika nie jest już skonfigurowane w iOS 6, powyższe badanie będzie oceniać na false i żadna z kodem podziału będzie wykonywał.

Zamiast tego, jeśli pominiesz czek i spróbujesz przedstawić model SLComposeViewController, system iOS wyświetli monit o skonfigurowanie konta Twitter.

+0

Dzięki Desty !!! – yogs

Powiązane problemy