2013-07-19 20 views
5

Tôi đã sử dụng mã này để đăng bài trên twitter.SLCOmposeviewcontroller twitter sharing alert issue

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

Nếu người dùng không thiết lập tài khoản twitter, nó hiển thị cảnh báo có cài đặt và nút hủy. Nhưng nó không hiển thị cảnh báo trong Thiết bị? Bất kỳ ai có thể giúp tôi được không. Cảm ơn trước .

+0

Nhưng nó không hiển thị cảnh báo trong Thiết bị? không nhận được điều bạn yêu cầu ... :( –

+0

Bạn có chắc chắn rằng bạn đang chạy> ios 6.0 trong thiết bị –

+0

Có abhilash thiết bị iOS của tôi là 6.1.3 – Tendulkar

Trả lời

1
BOOL canCompose= [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]; 

    if (canCompose) { 


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

một lần thử mã này thay vì sử dụng completionHandler

+0

Vui lòng kiểm tra mã dude của tôi Tôi đã viết cùng một mã. để biết kết quả của việc đăng bài – Tendulkar

0

Thực hiện theo hướng dẫn này. ở đây mở cảnh báo.

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

Điều tương tự cũng xảy ra với Facebook chia sẻ. Xóa bài kiểm tra:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 

Nếu tài khoản Twitter của người dùng chưa được thiết lập trong iOS 6, kiểm tra trên sẽ đánh giá sai và không có mã chia sẻ nào được thực thi.

Thay vào đó, nếu bạn bỏ qua séc và cố gắng trình bày SLComposeViewController, iOS sẽ nhắc người dùng thiết lập tài khoản Twitter của họ.

+0

Cảm ơn Desty !!! – yogs