facebook,twitterに投稿する

Social.framework使用してfacebooktwitterに投稿したサンプルを載せておきます。
また、ネットワークがつながっていない時は、こちら側で検知できるようにしました。
networkの状態確認は、Appleが公式ライブラリ「Reachability」を使用します。

まず下準備として、

  1. Xcodeの「linked frameworkes and libraries」からSocial.framework、SystemConfiguration.frameworkを追加します。
  2. ここからサンプルコードをDL
  3. 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のネットワーク接続状況を確認する公式ライブラリ - ぼりぼり農園