Ios 当我转到主屏幕并返回时,iPhone应用程序会像错误一样关闭
我正在尝试使用SpriteKit为iPhone编写一个游戏。几乎一切正常,运行正常,但唯一的问题是,当我测试它时,看看如果我转到主屏幕并返回应用程序会发生什么,我注意到每次返回应用程序时,它都会显示最后一种状态,然后在一秒钟后突然关闭应用程序。 我的应用程序正在使用声音,我注意到如果我删除播放声音的动作,一切都很好。合理的行动是:Ios 当我转到主屏幕并返回时,iPhone应用程序会像错误一样关闭,ios,xcode5,sprite-kit,skaction,Ios,Xcode5,Sprite Kit,Skaction,我正在尝试使用SpriteKit为iPhone编写一个游戏。几乎一切正常,运行正常,但唯一的问题是,当我测试它时,看看如果我转到主屏幕并返回应用程序会发生什么,我注意到每次返回应用程序时,它都会显示最后一种状态,然后在一秒钟后突然关闭应用程序。 我的应用程序正在使用声音,我注意到如果我删除播放声音的动作,一切都很好。合理的行动是: SKAction * playClickSound = [SKAction playSoundFileNamed:@"buttonClick.caf" waitFor
SKAction * playClickSound = [SKAction playSoundFileNamed:@"buttonClick.caf" waitForCompletion:NO];
[self runAction:playClickSound];
有趣的是,如果我的应用程序运行,但没有得到运行此操作的要点,那么当我在应用程序和主屏幕之间来回切换时,一切都会恢复正常。有趣的是,它似乎在模拟器上是正常的,而这个问题只有在我在iPodtouch上运行代码时才会发生。
提前感谢您的帮助。这是由于内存压力导致应用程序在后台终止时发生的情况。不幸的是,由于iOS 7的新图形“功能”,这种情况现在更为频繁,尤其是在旧设备上
您应该考虑为应用程序实现状态恢复。
因此,当应用程序退出活动时,在应用程序委托中添加禁用代码>代码AvooStudio</代码>,并且当它再次活跃时再次启用它。 此行应添加到AppDelegate.m文件的顶部:
@import AVFoundation;
和[[AVAudioSession sharedInstance]设置活动:无错误:无]代码>和[[AVAudioSession sharedInstance]设置活动:是错误:无]代码>必须添加到函数中,如下所示:
- (void)applicationWillResignActive:(UIApplication *)application
{
[[AVAudioSession sharedInstance] setActive:NO error:nil];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[AVAudioSession sharedInstance] setActive:NO error:nil];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[AVAudioSession sharedInstance] setActive:YES error:nil];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[AVAudioSession sharedInstance] setActive:YES error:nil];
}
特别感谢@0x7fffffff的帮助。这就是你要说的吗?谢谢,这解决了问题。