Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-iOS編その1
Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-Android編その4の続き。
Twitterにログインするところまで。
すでにユーザ登録してある人は、そこは飛ばしてください。
今度はこのページを見ながら。ネット上の資産は有効活用しましょう。
Run Script Build Phaseについては、公式How to Add a Run Script Build Phaseで解説されています。
Run Scriptを追加した後に、以前NativeLauncher.hで宣言した関数が無いとビルドできないので、
NativeLauncher.mmに
AppDelegate.mに記述ところはCocosだとAppDelegateがcppファイルなので、NativeLauncher.mmのloginTwitter()に書きます。
TwitterLoginButtonもNativeLauncher.mmのloginTwitter()に書きますが、viewには追加しないので、
最後に、[logInButton sendActionsForControlEvents:UIControlEventTouchUpInside];でloginButtonをプログラムからタッチイベントを発生させます。
あとはログインした時のログを表示させたりして全体としてはこんなかんじになります。
Androidの時と同じように、好きなところからNativeLauncher::loginTwitter()を呼び出せば、ログイン出来るはずです。
iOSシミュレータだとSettingでTwitterのアカウントを登録してないと、エラーが出ます。
実機だとOSでログインしていない場合はWebViewでログイン出来るらしいのですが、実機でまだテストしていないので確認していません。
続き::Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-iOS編その2
Twitterにログインするところまで。
Fabric のXcode用プラグインをインストール
fabricユーザー登録から、プラグインのインストールまでこのページが丁寧に説明してあって分かりやすいと思います。すでにユーザ登録してある人は、そこは飛ばしてください。
プロジェクトにSDKを追加する
[iOS] Fabric 入門 #1 アカウント登録 & Twitter Kit を使ってログインする今度はこのページを見ながら。ネット上の資産は有効活用しましょう。
Run Script Build Phaseについては、公式How to Add a Run Script Build Phaseで解説されています。
Run Scriptを追加した後に、以前NativeLauncher.hで宣言した関数が無いとビルドできないので、
NativeLauncher.mmに
#include "NativeLauncher.h" void NativeLauncher::loginTwitter(){ }; std::string NativeLauncher::showTweet(){ std::string tweet_text; return tweet_text; }; std::vector<std::string> NativeLauncher::showUserTimeline(){ std::vector<std::string> userTimeline_text; return userTimeline_text; };と空の関数を用意しておきます。
Twitterにログインする
AppDelegate.mに記述ところはCocosだとAppDelegateがcppファイルなので、NativeLauncher.mmのloginTwitter()に書きます。
TwitterLoginButtonもNativeLauncher.mmのloginTwitter()に書きますが、viewには追加しないので、
logInButton.center = self.view.center; [self.view addSubview:logInButton];の部分は削っておきましょう。
最後に、[logInButton sendActionsForControlEvents:UIControlEventTouchUpInside];でloginButtonをプログラムからタッチイベントを発生させます。
あとはログインした時のログを表示させたりして全体としてはこんなかんじになります。
#include "NativeLauncher.h" #import <Fabric/Fabric.h> #import <TwitterKit/TwitterKit.h> void NativeLauncher::loginTwitter(){ [Fabric with:@[TwitterKit]]; TWTRLogInButton *logInButton = [TWTRLogInButton buttonWithLogInCompletion: ^(TWTRSession *session, NSError *error) { if (session) { NSLog(@"signed in as %@", [session userName]); } else { NSLog(@"error: %@", [error localizedDescription]); } }]; [logInButton sendActionsForControlEvents:UIControlEventTouchUpInside]; }; std::string NativeLauncher::showTweet(){ std::string tweet_text; return tweet_text; }; std::vector<std::string> NativeLauncher::showUserTimeline(){ std::vector<std::string> userTimeline_text; return userTimeline_text; };
Androidの時と同じように、好きなところからNativeLauncher::loginTwitter()を呼び出せば、ログイン出来るはずです。
iOSシミュレータだとSettingでTwitterのアカウントを登録してないと、エラーが出ます。
実機だとOSでログインしていない場合はWebViewでログイン出来るらしいのですが、実機でまだテストしていないので確認していません。
続き::Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-iOS編その2
コメント