1

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

我需要阻止博物馆的客人使用 iPad 的桌面。在了解SBStoreDemoAppLock并使用金属框架外壳后,我使用 mobileconfig 文件禁用了主页按钮。显然,我希望并努力使我的应用程序永远不会崩溃。然而,当 iPad 24/7 全天候运行时,有时每天要处理 2000 多名儿童敲击、滑动和殴打它们时,该应用程序确实偶尔会崩溃。

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

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

就设置选项卡下的可用范围而言,我对 iPad 进行了完全限制,但今天的孩子(和成人)可以找到各种各样的事情,例如反转颜色、打开辅助缩放等。

4

1 回答 1

0

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

于 2012-04-16T20:20:13.130 回答