facebook,twitterに投稿する
Social.framework使用してfacebook、twitterに投稿したサンプルを載せておきます。
また、ネットワークがつながっていない時は、こちら側で検知できるようにしました。
networkの状態確認は、Appleが公式ライブラリ「Reachability」を使用します。
まず下準備として、
- Xcodeの「linked frameworkes and libraries」からSocial.framework、SystemConfiguration.frameworkを追加します。
- ここからサンプルコードをDL
- Reachability.hとReachability.mをプロジェクトにインポート します。
あとはコードでインポートと実際に下記のような感じにしてOK!
- インポート
#import <Social/Social.h> #import "Reachability.h"
- 実装
//NetWorkの状態を確認 + (BOOL)connectedNetwork { Reachability *reachability = [Reachability reachabilityForInternetConnection]; NetworkStatus networkStatus = [reachability currentReachabilityStatus]; return networkStatus != NotReachable; } +(SLComposeViewController *)postSocial:(int)socialType imageName:(UIImage *)imageName { SLComposeViewController *composeView; switch (socialType) { case SocialTypeFacebook: composeView = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeFacebook]; break; case SocialTypeTwitter: composeView = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeTwitter]; break; default: break; } [composeView setCompletionHandler:^(SLComposeViewControllerResult result) { switch (result) { case SLComposeViewControllerResultCancelled: break; case SLComposeViewControllerResultDone: if ([self connectedNetwork]) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"結果" message:@"投稿しました" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"閉じる", nil ]; [alert show]; } break; default: break; } }]; [composeView setInitialText:@"写真をシェアしよう!!"]; [composeView addImage:imageName]; return composeView; }
【Objective-C】Reachability - iOSのネットワーク接続状況を確認する公式ライブラリ - ぼりぼり農園