長いドキュメントを読むよりも、実際のコードの方が GameKit フレームワークの理解を深めるのに役立ってくれます。まあ、でもドキュメントも読みましょう(笑)
この GameKitHelperクラスは、GameKitの用意したViewを表示させるために、UIWindowの rootViewController プロパティにアクセスします。
なのでAppDelegateのapplicationDidFinishLaunchingメソッドなどから、
window.rootViewController = viewController; [window makeKeyAndVisible];として、UIViewController を代入しておく必要があります。
と、ここまでは書籍に載っていました。
アプリを iOS3 にも対応させるため、GameKit フレームワークを Required から Weak に変更している事も多いと思います。
GameKitHelperクラスは、その辺りのこともちゃんと処理してくれます。
しかし、UIWindow の rootViewControllerプロパティは 、iOS4以上から使用可能なので、上記の単純な代入コードでは問題が起こりますので注意して下さい。
実際には以下のような感じで場合分けしておくと良いでしょう。
GameKitHelper *gkHelper = [GameKitHelper sharedGameKitHelper]; gkHelper.delegate = self; if (gkHelper.isGameCenterAvailable) { // window.rootViewControllerはiOS4.0以上でないとアクセス出来ないので注意! window.rootViewController = viewController; }
0 件のコメント:
コメントを投稿