ゲームの結果をTweetできるようにしてみた

難しくなかったらやってみようと思って、
調べてみたらサクッと実装できました。

コードは、これをコピペして、
不要な部分を削除したり、最初の文字列を書き換えるだけです。

Using the Tweet Sheet
https://dev.twitter.com/docs/ios/using-tweet-sheet

でも、その前にいくつかやることがあります。

1. Social.frameworkを追加する

Generalってタブの一番に下にあるアレです。

2. #import <Social/Social.h>を追加する

どこに追加すべきは分かんないです。。。
上記のコードをコピペするファイルでimportします。
でもって、そのファイルからUIViewControllerが参照できる必要があります。

まぁ、これだけなんだけどね。
注意しなければいけないことは・・・、
ほんと、どのファイルに記述すべきなんですかね。

自分の場合は、SKSceneを継承したクラスでタッブを検出して、
それをSKViewを継承したクラスに通知して、
その中でUIViewControllerを参照して実装しました。

つまり、各クラスに
@property (nonatomic, weak) id delegate;
ってな感じでプロパティを用意して、
SKSceneからはSKViewを、ViewからはControllerを参照したり、
処理をお願いしたりする感じですね。

ちなみに、Tweet Sheetを表示してるときにホームボタンを押すと、
Viewが2つ存在するので、
“FOOAppDelegate.m”にあるapplicationWillResignActiveは、
こんな感じになりました。

// "FOOGameView.h"がimportされていることを前提
-(void)applicationWillResignActive:(UIApplication *)application
{
    for (UIView *view in [_window subviews]) {
        // Tweet Sheetにはメッセージを送るべからず!
        if ( [view isKindOfClass:[FOOGameView class]] ) {
            [(FOOGameView *)view pause];
        }
    }
}

という訳で、この辺のお作法がよく分かってないので、
定石みたいなのが知りたいです。

おしまい。

Leave a Comment