Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

iOS Twitter,Facebook,LINE ソーシャル連携

■ Social.framework ライブラリ追加
xcodeでプロジェクトをクリックしGeneralタブの下の方のLinked Framework and libraries の+をクリックし、Social.frameworkを追加

■ 使うViewの.hファイルへライブラリインポート

#import <UIKit/UIKit.h>
#import <Social/Social.h> //これ追加

■ てきとうなボタンをつくりクリック処理にコードかく

/**
 * Share button action
 * Twitter and Facebook
 */

- (IBAction)btnTwitter:(id)sender
{
    SLComposeViewController *vc = [SLComposeViewController
                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
    [vc setInitialText:@"via Think Big Act Local"];
    [vc addImage:_resultImage];
    [vc addURL:[NSURL URLWithString:@"http://salvador.hatenablog.jp/"]];
    [self presentViewController:vc animated:YES completion:nil];

}

- (IBAction)btnFacebook:(id)sender
{
    SLComposeViewController *vc = [SLComposeViewController
                                   composeViewControllerForServiceType:SLServiceTypeFacebook];
    [vc setInitialText:@"via Think Big Act Local"];
    [vc addImage:resultImage];
    [vc addURL:[NSURL URLWithString:@"http://salvador.hatenablog.jp/"]];
    [self presentViewController:vc animated:YES completion:nil];
}

- (IBAction)btnLine:(id)sender
{
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    [pasteboard setData:UIImageJPEGRepresentation(_screenShot, 0.5) forPasteboardType:@"public.png"];
    NSString *string = [NSString stringWithFormat:@"line://msg/image/%@",pasteboard.name];
    NSURL *url = [NSURL URLWithString:string];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
}
※LINEはURLスキームをつかう。_screenShotがUIImageでそれを送信する。

こんな簡単にできるなんて、素晴らしい。

参考)
http://himaratsu.hatenablog.com/entry/objc/snspost
http://lab.dolice.net/blog/2014/01/09/download-objc-classes-dc-social2/