スマゲ

スマートなゲームづくりを目指して日々精進

【iOS】UnityでTwitter投稿する

iOS端末にてUnityでTwitter投稿をする方法です

■完成イメージ
f:id:sanukin39:20160313162628p:plain

■Twitter投稿するコード
objective-c++ファイル(拡張子 .mm)を作成し以下のように記述
Social.frameworkを利用します(iOS6.0以上)

#import <Social/Social.h>

extern "C"{
    void uniTwitterShare(const char *text);
}

void uniTwitterShare(const char *text){
    NSString * textStr = [NSString stringWithUTF8String:text ? text : ""];
    
    SLComposeViewController *vc = [SLComposeViewController
                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
    [vc setInitialText:textStr];
    [vc dismissViewControllerAnimated:YES completion:nil];
    [UnityGetGLViewController() presentViewController:vc animated:YES completion:nil];
}

■Social.frameworkをインポート
作成したmmファイルを選択して、InspectorのFramework dependenciesからSocialを選択
f:id:sanukin39:20160313171143p:plain

■プラグインを呼び出すコード

    [DllImport("__Internal")]
    private static extern void uniTwitterShare(string text);

    public static void Share(string text){
#if UNITY_IOS
        uniTwitterShare (text);
#endif
    }

あとは適切な場所でメソッドを呼び出せばTwitter投稿用のPopupがでてきます

■Android投稿にも対応したプラグイン
github.com

■関連
UnityでiOSのプラグインを作成する - スマゲ
【Android】UnityでTwitter投稿する - スマゲ