什么方法可以防止iOS企业应用程序在崩溃后完全终止?

时间:2012-04-16 20:11:24

标签: xcode ios5 crash

前言:我为博物馆编写iPad应用程序,用作“永久”信息亭。他们需要一直运行1个应用程序。我的问题与这种情况有关,而不是App Store分发或担心外部用户,因为这些是企业应用程序。我是唯一的开发人员,我仍然是应用程序开发的新手,在严格的期限内运行,并且无法在应用程序必须在场之前修复每个错误。我们的客人有时是应用程序的初始测试人员。这些是iPad 2和新的运行iOS 5.1。一些应用正在运行Cocos2d ver 2.0框架。

我需要阻止博物馆客人进入iPad的桌面。在找到SBStoreDemoAppLock和金属框外壳后,我使用mobileconfig文件禁用了主页按钮。显然,我想要,并努力,我的应用程序永远不会崩溃。然而,当iPad全天候运行并且有时每天处理2000多名儿童轻击,滑动和殴打时,应用程序偶尔会崩溃。

当我致力于更好的编码以防止崩溃甚至发生时,有没有办法阻止应用程序在崩溃时完全关闭?意思是如果它需要崩溃,可以显示一个简单的imageView说“联系IT”吗?我知道这听起来很矛盾,因为如果一个应用程序需要崩溃,它会崩溃,但我不知道怎么回事。

或者,更不可能的是,有没有办法在崩溃后自动重新启动应用程序?我已经研究了URL方案方法并将其添加到applicationWillTerminate,但是自从iOS 4出现以来已经弃用了。我宁愿避免越狱,但如果有人知道使用Cydia应用程序做到这一点的简单方法,我想听听它作为最后的选择。

我的iPad完全受限于设置选项卡下的可用,但今天的孩子(和成人)可以找到各种各样的东西,例如反转颜色,打开辅助变焦等。

1 个答案:

答案 0 :(得分:0)

首先想到的是使用NSSetUncaughtExceptionHandler拦截应用程序中的任何错误。无论你在处理程序中做什么,都应该包含尽可能少的代码,预先加载它需要的任何资源,并且要经过充分测试,因为异常处理过程中的错误是错误的想法。