Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2014年07月07日

SpriteKit使用時にAdMob広告タップ時にEXC_BAD_ACCESSで落ちる場合の対処法



ゲームフレームワークのSpriteKitで作ったアプリを動作中、AdMobなどの広告をタップしたときにアプリがEXC_BAD_ACCESSでクラッシュする場合の対処法。

クラッシュログを見ると、libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient が表示されていることがわかる。
これは、広告がタップされてアプリがバックグラウンドに移行するときに、SpriteKitで必要な然るべき処理が行われなかったためによるものだ。

従って、AppDelegateにバックグラウンドに移行する場合と復帰時のSpriteKitの処理を記述する必要がある。

AppDelegate.m
#import

- (void)applicationWillResignActive:(UIApplication *)application
{
// pause sprite kit
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
// resume sprite kit
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = NO;

}



参考記事:
http://stackoverflow.com/questions/19014012/sprite-kit-the-right-way-to-multitask
http://www.raywenderlich.com/forums/viewtopic.php?f=21&t=11170



posted by mobileDeveloper at 20:02 | Comment(0) | TrackBack(0) | トラブルシューティング はてなブックマーク - SpriteKit使用時にAdMob広告タップ時にEXC_BAD_ACCESSで落ちる場合の対処法 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。