クラッシュログを見ると、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

