Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.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 iOS设备重启时的应用行为(应用运行时)_Iphone_Ios_Cocoa Touch - Fatal编程技术网

Iphone iOS设备重启时的应用行为(应用运行时)

Iphone iOS设备重启时的应用行为(应用运行时),iphone,ios,cocoa-touch,Iphone,Ios,Cocoa Touch,我面临一个奇怪的问题。我的iPhone应用程序受密码保护,只有在输入正确密码后,用户才能再次登录。此外,该应用程序有多个屏幕 假设我在一个特定的屏幕上(登录后),关闭设备(应用程序仍在运行),重新打开设备并启动我的应用程序,它会从设备重新启动时可见的屏幕重新启动。密码屏幕未显示,似乎从未调用ApplicationIDFinishLaunching。当我从后台关闭应用程序并再次启动时,它工作正常 当设备重新启动时,应用程序不会丢失内存中的所有数据吗?难道不需要再次绘制视图吗?在这种情况下,应用程序

我面临一个奇怪的问题。我的iPhone应用程序受密码保护,只有在输入正确密码后,用户才能再次登录。此外,该应用程序有多个屏幕

假设我在一个特定的屏幕上(登录后),关闭设备(应用程序仍在运行),重新打开设备并启动我的应用程序,它会从设备重新启动时可见的屏幕重新启动。密码屏幕未显示,似乎从未调用ApplicationIDFinishLaunching。当我从后台关闭应用程序并再次启动时,它工作正常

当设备重新启动时,应用程序不会丢失内存中的所有数据吗?难道不需要再次绘制视图吗?在这种情况下,应用程序的具体行为如何

编辑: 我按照特里普尼克斯的建议做了。我观察到的是,如果您打开设备并很快启动应用程序,则不会调用ApplicationIDBecomeActive委托方法。然而,如果你在发布之前给它一些时间,一切似乎都如预期的那样工作。ApplicationIDBecomeActive方法不是应该在每次应用程序启动时调用吗

我正在测试的内容: 操作系统:iOS 5.0.1 Xcode:4.2.1
设备:iPhone 4s是否可能导致你的应用程序内存使用量非常小?我记得WWDC的一次谈话(不幸的是,现在找不到合适的一个)告诉我,在内存使用方面,非常小的应用程序(限制没有公开定义,但我认为大约是16 MiB内存使用量)不会在内存不足的情况下被杀死,而是挂在手机的闪存上,以便稍后唤醒。我不确定这是否是为了在完全关闭后幸存下来,但这肯定是为数不多的可能性之一。要检查这一点,您可以尝试通过创建一些大型对象/数组来人为地提高内存使用率,看看问题是否消失


在任何情况下,都可能有更好的功能来重新激活密码保护,例如,
application将进入前台:
applicationIDBECOMEACTIVE:
,因为这应该涵盖用户可能返回应用程序的所有可能性。

您确定您正在关闭设备,而不仅仅是关闭和打开屏幕吗?如果你在正确重启设备后看到这一点,听起来很疯狂。是的,我正在关闭设备(“滑到关机”),是的,这绝对是疯狂的!!:(你是否尝试过“硬”重置(按住两个按钮直到它重新启动)?这不会重置我的设备吗?这很简单,就像按住电脑上的电源按钮约8秒钟,在没有正常关机的情况下关闭电脑。我的应用程序实际上相当大(超过30 MB IPA)。应用程序委派方法的问题是,由于设备正在关闭,我无法在其上设置断点并进行检查。您可以在设备上创建一个具有当前日期或类似日期的文件,以检查是否以及何时调用这些Methodo。