Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当我转到主屏幕并返回时,iPhone应用程序会像错误一样关闭_Ios_Xcode5_Sprite Kit_Skaction - Fatal编程技术网

Ios 当我转到主屏幕并返回时,iPhone应用程序会像错误一样关闭

Ios 当我转到主屏幕并返回时,iPhone应用程序会像错误一样关闭,ios,xcode5,sprite-kit,skaction,Ios,Xcode5,Sprite Kit,Skaction,我正在尝试使用SpriteKit为iPhone编写一个游戏。几乎一切正常,运行正常,但唯一的问题是,当我测试它时,看看如果我转到主屏幕并返回应用程序会发生什么,我注意到每次返回应用程序时,它都会显示最后一种状态,然后在一秒钟后突然关闭应用程序。 我的应用程序正在使用声音,我注意到如果我删除播放声音的动作,一切都很好。合理的行动是: SKAction * playClickSound = [SKAction playSoundFileNamed:@"buttonClick.caf" waitFor

我正在尝试使用SpriteKit为iPhone编写一个游戏。几乎一切正常,运行正常,但唯一的问题是,当我测试它时,看看如果我转到主屏幕并返回应用程序会发生什么,我注意到每次返回应用程序时,它都会显示最后一种状态,然后在一秒钟后突然关闭应用程序。 我的应用程序正在使用声音,我注意到如果我删除播放声音的动作,一切都很好。合理的行动是:

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的帮助。

这就是你要说的吗?谢谢,这解决了问题。