代码之家  ›  专栏  ›  技术社区  ›  typeoneerror

为Bug构建

  •  2
  • typeoneerror  · 技术社区  · 15 年前

    在发布的应用程序中,如何处理特定SDK版本中的错误?比如说,我已经报告并收到了一个通知,在特定版本的SDK中发现了一个bug。假设SDK工程师在下一版本中修复了这个问题。然后我是否需要检查用户是否正在运行buggy版本,并显示一条错误消息,说明他们不能使用带有bug的特定功能,因为它会使他们的硬件崩溃?有没有更优雅的方式?您是否显示警报并告诉他们升级到最新的SDK?是否完全删除该功能?如有建议,将不胜感激。

    这是措辞尽可能不可知,但我问的目的是iPhone应用程序开发在这个时候。其他平台的通用答案也不错。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Michael Aaron Safyan    15 年前

    这取决于bug的性质和平台的性质。以iPhone为例,你不能仅仅告诉用户升级他或她的手机。如果您的目标是支持iphonex.Y版本,那么您将需要支持相应的SDK;然而,针对浏览器X版本Y.Z或Java版本X.Y,有时告诉用户升级可能是可以接受的。*给人一种印象,你的应用程序只能做一些事情,给出一个错误消息,说它不能支持该版本的平台,这并不能带来良好的用户体验。如果可能的话,试着解决平台中的缺陷(通过可能重新实现在SDK中工作的代码),并向用户提供特性。如果这是不可能的,那么禁用它时,运行在有缺陷的版本的平台,但一定要删除所有的痕迹,该功能的应用程序(这样用户就不会点击一个按钮,只有它告诉他们,按钮是完全无用的)。我应该补充一点,有条件地启用/禁用特性只在特性对应用程序不是必需的情况下才是合理的;如果某个特性是应用程序的核心方面,那么您最好找到解决方法或提高最低要求,因为将有缺陷的应用程序发送给您的用户是不合适的。

    *告诉用户升级是不合理的一个例子是业务应用程序,因为业务系统管理员往往非常懒惰,用户没有能力自己升级。