防止iOS企业版应用程序在崩溃后完全终止的任何方法



前言:我为博物馆编写iPad应用程序,用作"永久"信息亭。他们需要一直运行 1 个应用程序。我的问题与这种情况有关,而不是App Store分发或担心外部用户,因为这些是企业应用程序。我是唯一的开发人员,对应用程序开发仍然很陌生,在严格的截止日期下操作,并且不能总是在应用程序必须上线之前修复每个错误。我们的客人有时是应用程序的初始测试人员。这些是运行iOS 5.1的iPad 2和新款。某些应用程序运行的是 Cocos2d ver 2.0 框架。

我需要阻止博物馆的客人甚至进入iPad的桌面。在发现SBStoreDemoAppLock并使用金属框架外壳后,我使用移动配置文件禁用了主页按钮。显然,我想要并努力实现我的应用程序永远不会崩溃。但是,当iPad 24/7全天候运行并且有时每天处理2000 +儿童点击,滑动和殴打它们时,该应用程序偶尔会崩溃。

当我致力于更好的编码以防止崩溃发生时,有没有办法防止应用程序在遇到崩溃时完全关闭?这意味着如果它需要崩溃,是否可以显示一个简单的图像视图,说"联系IT"?我知道这听起来很矛盾,因为如果一个应用程序需要崩溃,它就会崩溃,但我不确定如何措辞。

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

我在设置选项卡下完全限制了iPad,但是今天的孩子(和成人)可以找到各种搞砸的东西,例如反转颜色,打开辅助缩放等。

首先想到的是

使用 NSSetUncaughtExceptionHandler 来拦截应用程序中的任何错误。 无论您在处理程序中执行什么操作,都应该涉及尽可能少的代码,预先加载所需的任何资源,并且经过良好的测试,因为异常处理期间的错误是一个主意。

相关内容

最新更新