SLComposeViewController CompletionHandler

嗨如何使用SLComposeViewController CompletionHandler完成鸣叫通知。 这里是发送推文的代码

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) { SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; [tweetSheet setInitialText:@"Tweeting from my own app! :)"]; [tweetSheet addURL:[NSURL URLWithString:@"www.someurl.com"]]; [self presentViewController:tweetSheet animated:YES completion:NULL]; } 

find答案

 - (void)showTweetSheet { // Create an instance of the Tweet Sheet SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeTwitter]; // Sets the completion handler. Note that we don't know which thread the // block will be called on, so we need to ensure that any UI updates occur // on the main queue tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) { switch(result) { // This means the user cancelled without sending the Tweet case SLComposeViewControllerResultCancelled: break; // This means the user hit 'Send' case SLComposeViewControllerResultDone: break; } // dismiss the Tweet Sheet dispatch_async(dispatch_get_main_queue(), ^{ [self dismissViewControllerAnimated:NO completion:^{ NSLog(@"Tweet Sheet has been dismissed."); }]; }); }; // Set the initial body of the Tweet [tweetSheet setInitialText:@"just setting up my twttr"]; // Adds an image to the Tweet. For demo purposes, assume we have an // image named 'larry.png' that we wish to attach if (![tweetSheet addImage:[UIImage imageNamed:@"larry.png"]]) { NSLog(@"Unable to add the image!"); } // Add an URL to the Tweet. You can add multiple URLs. if (![tweetSheet addURL:[NSURL URLWithString:@"http://twitter.com/"]]){ NSLog(@"Unable to add the URL!"); } // Presents the Tweet Sheet to the user [self presentViewController:tweetSheet animated:NO completion:^{ NSLog(@"Tweet sheet has been presented."); }]; }