2014年10月05日

iTunes 対応 (6) | ユーザー認証編問題解決編!ホントか?

う〜ん。前回 GameCenter のユーザー認証、出来た気になってたんですが、全然でしたね。
結構あそこまで苦労したんだけど...

今回は、デバッグ含めてなんとか認証を完了したいなぁ〜。


Unity 側でステートを見るデバッグコードを追加してみようかな
なにぶん デバイスで実行したときしか見れない問題なんで、デバッグ面倒なんですよね。
ひとまず、Unity 側で前回言語設定を表示してたデバッグテキストを利用して、ステートを確認してみますね。
Screen Shot 2014-10-02 at 5.46.59 PM.png
204〜207行目で、普通に、GameCenterPlugin の状態をみて、初期化が終了していたら表示テキストを変えるコードです。

その後、XCode側でもデバッグしてたんですが、恐るべき事実が発覚しました!!

な・ん・と、XCode側の isLocalPlayerReady 誰からも呼ばれてませんでした!
もう、自分にがっかりです!

なんで、Xcodeの initGameCenterPlugin に入れちゃいました。こんな感じで。
Screen Shot 2014-10-02 at 6.19.11 PM.png
一応、一回だけ呼んだ方がいいらしい関数なんで、初期化済チェックを入れてますよ。
なんか、この関数の名前も変えた方が分かりやすいな〜。ま、また今度。

これで、もう一回デバイスで実行してみます!

......あ、れ?また何もおきませんね〜。
ちょっともう一回、Xcode でデバッグしてみましょう。
コールバックプロセスの中にブレークを設定したんですが...
Screen Shot 2014-10-02 at 6.25.01 PM.png
ここからステップで1行進めてみましょう。
ちなみに、ステップオーバーはこの赤丸の所。
StepOver2.png
すると、あぁ〜、普通にオーセンティケートされてない方にいきましたね。
Screen Shot 2014-10-02 at 6.26.36 PM.png
どうやら、ホントに認証してないだけ見たい。

さて、どうしようかな?
ちょっとリサーチしてみますね...


iTunesConnect で GameCenter の設定をみてみよう!
なんか煮詰まってしまったので、ひとまず iTunesConnect に戻って来ました。
Screen Shot 2014-10-03 at 2.46.27 PM.png
先日の発表会以来見た目が変わりましたね。
ここで、今作成中のアプリを選択して、
Screen Shot 2014-10-03 at 2.46.56 PM.png
GameCenter の項目をみてみましょう。
あれっ、シングルにするか、グループにするか聞かれてます。(スクリーンショット撮り忘れました...)
この画面がでるという事は、まったく設定出来ていないのかな?
ちょっと進めてみましょうかね。
他のアプリと連携する予定はないので、"Single Game" を選びますね。
Screen Shot 2014-10-03 at 2.50.19 PM.png
おっ、"Game Center has been enabled for your app" なんて言われちゃいました。
全然設定されてませんでしたね。
なにも出なかったのは、これが原因?

この画面で、アチーブメントとリーダーボードの設定が出来るみたい。
ひとまず、アチーブメントだけ軽く設定してみましょう!
Screen Shot 2014-10-03 at 2.55.05 PM.png
アップルへアプリの提出を行うまでは変更可能らしいですが、一応こんな感じで設定してみました。

さらに言語の設定です。
"Add Language" をクリックすると、こんな画面に。
Screen Shot 2014-10-03 at 2.56.44 PM.png
対応が簡単な English からね。
Screen Shot 2014-10-03 at 2.59.11 PM.png
おおっと!アチーブメント用に表示アイコンが必須みたい。
う〜ん。じゃ、急遽スクリーンショットを作成しましょう。

....そして5分後。さ、できました!では設定を...

えぇっ、先に言ってよ!
なにっ?サイズ指定!?512x512か1024x1024ですって。
Screen Shot 2014-10-03 at 3.08.34 PM.png
気を取り直してもう一回作り直し.....今度は行けましたね。
Screen Shot 2014-10-03 at 3.20.48 PM.png
おっと、最後に、”Save” するの、忘れる所でした!
ちゃんとセーブしましょうね!
Screen Shot 2014-10-03 at 3.23.24 PM.png
で、どうやらちゃんと登録されたみたいです。
Screen Shot 2014-10-03 at 3.22.20 PM.png
さて、これで実装の問題が改善するのかしら....?

ん〜。だめですなぁ〜。どうしてだろ〜...


XCode 側の設定を再確認してみる
もう一回、XCode側の設定を確認してみますね。
おっ、なんか、一カ所怒られてる所がありますね。
Project Navigator で、プロジェクト自体を選んで、
ProjectNavigator2.png
上のタグで、"Capabilities" を選択。
Ca[abilities2.png
これ、さっき追加したやつじゃ無いのかなぁ〜。
取り合えず、"Fix Issue" をクリックしてみましょうか。
おっ、なんか良い兆し!
FixIssue2.png
GameCenter を有効にする為には、プロビジョニングプロファイルを変更しないといけないんですが、XCode様がやってくれるみたいですね。
では、チーム(個人ですが)のプロファイルを選んで、"Choose" をクリック!

あれっ?まだ怒られてますね。
Screen Shot 2014-10-03 at 3.40.51 PM.png

あっ、でもこれは分かるかも!確かに、Unity で使ってる Bundle Identifier は、iTunesConnect で最初に決めたアプリのBundle Identifier と違うわ!
それなら直せるかも。この辺は、Unity で設定できたっけなぁ〜。
ちょっと、Unityに戻ってみましょう。

※※ 忘れ物 ※※
さっきの警告部分で、実は2つの項目の内、真ん中のもちょっと前に直してたんですよね。
直し方は、XCodeの Project Navigator から、"info.plist" というファイルを選んで、
plist2.png
すると真ん中にいろんな設定が出てくるんで、その中の "Required device capabilities" っていう Key を探して、そこにgamekit を追加するだけ。

さっきの "Required device capabilities" をクリックすると、Keyの右に "+" "-" ボタンが現れるので、"+" をクリック。
追加された配列に、"gamekit" を入力。
AdditionalKey2.png
もし間違って入力しても、文字をダブルクリックで修正可能ね。
これで、真ん中の警告はなくなったでござる。


Unity で Bundle Identifier を設定
たしか、いつもの Build Settings にあった様な...
そうですね。
ここの "Player Settings..." の、Inspector ビューの "Other Settings" にあるんで、
BundleIdentifier.png
これを変更して、もう一回 iOSビルドを作りましょうね。
これで、どう?

オッケー!!今度は警告消えましたね!!
Screen Shot 2014-10-03 at 3.49.15 PM.png
じゃ、ちょろっとXCodeで実行してみましょう!


ははは(乾)、だめですね〜。もう、なんだろうなぁ〜。


ここで衝撃の事実発覚!?
もうほんとーに煮詰まって来たんですが、ここでなんと衝撃の事実がたまたまグーグル先生により発覚です!
なんか、Unity に GameCenter API 用意されてる...?
マジかっ!

ん〜。ま、テーマとしてはUnityを使って、簡単に考えを形にする!って事なんで、ちょっと腹はたつけど、実利をとってこのAPI、使ってみましょうかね。
でも、今日はちょっと、これからヤケ酒なんで、また明日〜。

        にほんブログ村 ゲームブログ×PlayNCBlogへ
 初めてみました。よかったらクリックお願いね ♪

こんなコンボでヤケ酒したい...
posted by やまけん at 10:31| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: