Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Iphone 使用ApplicationTerminate将尽可能长时间延迟关机_Iphone_Objective C - Fatal编程技术网

Iphone 使用ApplicationTerminate将尽可能长时间延迟关机

Iphone 使用ApplicationTerminate将尽可能长时间延迟关机,iphone,objective-c,Iphone,Objective C,我注意到一些iPhone应用程序,尤其是一些图形化程度更高的游戏,在按下home(主页)按钮时需要很长时间才能退出 我的问题是,是否有可能人为地重现这种情况,原因是,我试图实现一种“手机保护器”,当读取一些加速度计数据时,它会发出很大的噪音。我们的想法是让AVAudioPlayer尽可能长时间地播放声音(也就是说,直到iPhoneOS决定永久终止这个过程) 我在我的app delegate中尝试了类似的方法,只是想看看它的反应: -(void)applicationWillTerminate:(

我注意到一些iPhone应用程序,尤其是一些图形化程度更高的游戏,在按下home(主页)按钮时需要很长时间才能退出

我的问题是,是否有可能人为地重现这种情况,原因是,我试图实现一种“手机保护器”,当读取一些加速度计数据时,它会发出很大的噪音。我们的想法是让AVAudioPlayer尽可能长时间地播放声音(也就是说,直到iPhoneOS决定永久终止这个过程)

我在我的app delegate中尝试了类似的方法,只是想看看它的反应:

-(void)applicationWillTerminate:(UIApplication *)application{ 
    NSInteger i;
    while(true) {
        i++;
    }
}
然而,发生的情况是,主屏幕立即出现,声音停止播放(AVAudioPlayer实例位于视图控制器中),但应用程序进程仍在内存中,事实上阻止我启动应用程序的新实例,直到手动关闭旧实例(这都在模拟器中)

有什么想法吗

  • 你真的需要在真正的设备上测试一下

  • 我有种感觉,你有6秒钟的时间退出,然后你就会被杀

  • 顺便说一句,
    AVAudioPlayer
    ,可能是一个好公民,并且不碍事。 它在引擎盖下做一些奇怪甚至恼人的事情。在这种情况下,您需要一些较低级别的设备,如远程io音频单元。我知道一个事实,如果你不停止这个应用程序将终止,那么它将很高兴地继续在主屏幕上发出声音

  • 你真的需要在真正的设备上测试一下

  • 我有种感觉,你有6秒钟的时间退出,然后你就会被杀

  • 顺便说一句,
    AVAudioPlayer
    ,可能是一个好公民,并且不碍事。
    它在引擎盖下做一些奇怪甚至恼人的事情。在这种情况下,您需要一些较低级别的设备,如远程io音频单元。我知道一个事实,如果你不在应用程序willTerminate中停止此操作,那么它将在主屏幕上愉快地继续发出声音。

    事实证明,AVAudioPlayer的行为并不像一个好公民,但是我在播放完声音后使用了它的回调,但由于某些原因,在调用applicationWillTerminate后,该功能不起作用。使用numberOfLoops=-1并向应用程序委托添加一个循环(i++;不起作用,NSLog(@“qwerty”)起作用)


    有趣的是,这个声音实际上一直在播放。我使用的是官方SDK,但使用的是越狱手机。

    事实证明,AVAudioPlayer的行为并不像一个好公民,但我在播放完声音后使用了它的回调,但由于某种原因,在调用applicationWillTerminate后,它无法工作。使用numberOfLoops=-1并向应用程序委托添加一个循环(i++;不起作用,NSLog(@“qwerty”)起作用)


    有趣的是,这个声音实际上一直在播放。我使用的是官方SDK,但使用的是越狱手机。

    不幸的是,我无法将工作计算机上基于cookie的用户与我的OpenID关联,因此无法正确回复

    无论如何,我使用的是3.0,同样的事情发生在模拟器和设备上。目前我无法在一部没有被判入狱的手机上进行测试,因为苹果要花很长时间才能批准我们的许可证,尽管我们已经有几个应用程序已经编码好并准备发布了


    一旦发现,我会尽快通知您。

    不幸的是,我无法将工作计算机上基于cookie的用户与我的OpenID关联,因此我无法正确回复

    无论如何,我使用的是3.0,同样的事情发生在模拟器和设备上。目前我无法在一部没有被判入狱的手机上进行测试,因为苹果要花很长时间才能批准我们的许可证,尽管我们已经有几个应用程序已经编码好并准备发布了


    一旦发现,我会尽快通知您。

    当用户按下“主页”按钮试图退出并让他们等待时,肯定会惹恼他们吗?我不认为游戏需要很长时间才能退出是一项功能……当用户按下主页按钮试图退出并让他们等待时,肯定会让他们烦恼吗?我不认为游戏需要很长时间才能退出是一个特性…奇怪。什么操作系统?那在非越狱手机上呢?奇怪。什么操作系统?在非越狱手机上呢?