Social.framework를 추가하고, social/social.h 를 임포트한 후에 실행 시킬 수 있습니다.
1. 트윗을 보낼 수 있는지 확인하는 코드
SLComposerViewController의 isAvailableForServiceType 함수를 통해서 확인할 수 있으며, 전송하지 못할 경우, 사용자에게 적절한 문구를 보여줘야 합니다.
2. 전송한 결과값을 받아야 하는 경우
completionHandler에 블록 함수를 설정해서, 결과를 받아올 수 있습니다.
3. 초기 메시지 추가
- setInitialText를 통해서 초기 메시지를 넣을 수 있습니다.
4. 이미지 추가
- addImage : 이미지를 추가할 수 있습니다.
5. URL 추가
- addURL: NSURL객체를 추가할 수 있습니다.
source code
#import@import Social; ... - (IBAction)tweetThisPage:(UIBarButtonItem *)sender { if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) { SLComposeViewController *composer = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; [composer setInitialText:@"This is my first tweet in my app!"]; [composer addImage:[self loadImage]]; [composer addURL:[NSURL URLWithString:APP_URL_IN_ITUNES]]; composer.completionHandler = ^(SLComposeViewControllerResult result){ switch(result) { // This means the user cancelled without sending the Tweet case SLComposeViewControllerResultCancelled: NSLog(@"Canceled"); break; // This means the user hit 'Send' case SLComposeViewControllerResultDone: NSLog(@"Tweet Done"); break; } }; [self presentViewController:composer animated:YES completion:^{ NSLog(@"Tweet Composer present completed"); }]; }else{
//트위터 아이디가 설정되어 있지 않거나, 인터넷에 연결이 안되어 있는 경우.. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"You can't send a tweet right now, make sure your device has an internet connection and you have at least one Twitter account setup" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alertView show]; } }
설정에 트위터 아이디가 설정이 되어 있지 않으면, 아래와 같이 표시가 됩니다.
Twitter ID가 없는 경우 |
설정된 트위터 아이디로 트윗을 작성중. |
개발자가 해준 부분은 없으며, 시스템에서 자동으로 표시하는 화면입니다.
트윗을 보내지 못했을 때, 표시화면 |
참고:
트위터 개발자 센터 문서: Integrating with Twitter on iOSRay Wenderlich : Beginning Twitter in iOS6 Tutorial
댓글 없음:
댓글 쓰기