2014年1月25日土曜日

Kobold2D2.0.4でのアプリ申請時のValidationWarning

アプリ申請のために、XCodeでArchiveビルドして、OrganizerのValidateチェックをしたところ以下のようなWarningが発生しました。

layerNamesという変数が、SDKのAPIと名前がかぶっているのでしょうか?取りあえず検索してみると、Kobold2DのTMX関連のクラスで使用しているようです。


上記の"layerNames"を、一通り"layerTMXNames"に変更して解決しました。そして、無事アップロードして、ただいまレビュー待ちです。使用していないクラスでしたので、適当に変更してしまいました。

iOS4.3にも対応させるためにKobold2D2.0.4を使用しているのですが、そろそろ疲れてきました。これからは、5.0以降か6.0以降で作成していこうかと思っています。





2014年1月22日水曜日

Kobold2D2.0.4で、UIWevViewの動画再生後はサウンド再設定が必要

現在のゲームのシーンをreplaceSceneで、UIWebViewの載ったシーンに切り替えて、動画を再生させます。次に、シーンをゲームにもどしてプレイ開始すると、音が鳴りませんでした。

UIWebViewから呼び出したAVPlayerが、サウンド出力を占有してるのか?、と検討をつけていましたが、具体的な解決策が分からず一日中調べていました。
前にMOSAのセミナーで、Core Audioの入門セミナーに参加したのですが、そのときの資料が役に立ちました。講師は、当時、HDMTにいらした永野さんでした。
ゲームのシーンに切り替えた後に、以下のコードを実行しないといけないようです。

インポートするファイル
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>

実装するコード
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryAmbient error:nil];

[session setActive:YES error:nil];

AVAudioSessionCategoryAmbientについては、他にも種類がありますので、場合によって変更したほうが良いそうです。

サウンド関係も複雑で難しいです。永野さんのCoreAudioの本を買っておけばよかったと後悔しております。