2012-10-09 34 views
7

Xin chào, tôi có hai UIButton trong ứng dụng iOS. Một là đăng lên Twitter thứ hai là đăng lên Facebook. Nút facebook hoạt động hoàn hảo tuy nhiên các tweet là vỏ bọc cho tôi một số vấn đề, tờ tweet sẽ mở ra với các văn bản dân cư, tuy nhiên phải mất hai vòi của nút hủy bỏ để loại bỏ. Nếu tôi bấm vào gửi các tweet sẽ được gửi đi và tờ được miễn nhiệm nhưng ứng dụng của tôi bị đóng băng và không phản hồi. Tôi đã bao gồm cả bit mãĐóng băng ứng dụng sau khi gửi tweet

- (IBAction)postTweet:(id)sender { 

// if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]){ 

    myTweet = [[SLComposeViewController alloc]init]; 

    myTweet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 

    NSString *tweetString = [[NSString alloc]initWithFormat:@"%@\n%@\nvia @ValuatorApp", pdOne.text, pdTwo.text]; 

    [myTweet setInitialText:tweetString]; 

    [myTweet addURL:[NSURL URLWithString:@"http://sjb007.me/TheValuator"]]; 

    [self presentViewController:myTweet animated:YES completion:nil]; 
// } 
[myTweet setCompletionHandler:^(SLComposeViewControllerResult result) { 

    NSString *output = [[NSString alloc]init]; 

    switch (result) { 
     case SLComposeViewControllerResultCancelled: 
      output = @"Twitter Post Cancelled"; 
      break; 
     case SLComposeViewControllerResultDone: 
      output = @"Twitter post Succesful"; 
      break; 
     default: 
      break; 
    } 
    NSLog(@"%@",output); 

}]; 
} 

- (IBAction)postFacebook:(id)sender { 

// if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]){ 

    myTweet = [[SLComposeViewController alloc]init]; 

    myTweet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

if (pd3 != 0) { 
    NSString *facebookString = [[NSString alloc]initWithFormat:@"%@\n%@\n%@", pdOne.text,pdTwo.text, pdThree.text]; 
    [myTweet setInitialText:facebookString]; 

} 
else if (pd3 == 0){ 
    NSString *facebookString = [[NSString alloc]initWithFormat:@"%@\n%@\n", pdOne.text,pdTwo.text]; 
    [myTweet setInitialText:facebookString]; 

} 

// [myTweet addImage:[UIImage imageNamed:@"Photo Jun 02, 22 46 37.jpg"]]; 

[myTweet addURL:[NSURL URLWithString:@"http://sjb007.me/TheValuator"]]; 

[self presentViewController:myTweet animated:YES completion:nil]; 
// } 
[myTweet setCompletionHandler:^(SLComposeViewControllerResult result) { 

    NSString *output = [[NSString alloc]init]; 

    switch (result) { 
     case SLComposeViewControllerResultCancelled: 
      output = @"Facebook Post Cancelled"; 
      break; 
     case SLComposeViewControllerResultDone: 
      output = @"Facebook post Succesful"; 
      break; 
     default: 
      break; 
    } 
    NSLog(@"%@",output); 

}]; 
} 
+1

Có chính xác cùng một vấn đề, bạn có tìm thấy bản sửa lỗi không? –

Trả lời

18

Bạn đang trình bày các ViewController "myTweet"

[self presentViewController:myTweet animated:YES completion:nil]; 

nhưng không sa thải ... tuyên bố trong completionHandler bạn

[self dismissViewControllerAnimated:YES completion:nil]; 
+2

đặt mã loại bỏ sau khi tuyên bố chuyển đổi cố định vấn đề này cho tôi, tuy nhiên nó lạ rằng nó không cần thiết cho Facebook ... –

+4

xem bài đăng sau http://stackoverflow.com/questions/12617490/twitter-post-ios6 -cancel-button-issue? rq = 1 – sjbuchanan007

+0

Điều này là cần thiết cả trong ResultCancelled và trên ResultDone cho Twitter nhưng không phải Facebook – RanLearns

Các vấn đề liên quan