为 Bug 构建
如何处理已发布应用程序中特定 SDK 版本中的错误?举例来说,我已报告并收到通知,称特定版本的 SDK 中存在已知错误。假设 SDK 工程师在下一个版本中修复了该问题。然后,我是否需要检查用户是否正在运行有缺陷的版本,并显示一条错误消息,表明他们无法使用包含错误的特定功能,因为这会导致硬件崩溃?还有更优雅的方式吗?您是否显示警报并告诉他们升级到最新的 SDK?您是否完全删除该功能?如有建议,我们将不胜感激。
这是为了尽可能不可知,但我现在询问 iPhone 应用程序开发的目的。其他平台的一般答案也很好。
How do you handle a bug in a specific SDK version in a released application? Say for example I've reported and received notification that a bug is known in a specific version of an SDK. Say the SDK engineers fix the problem in the next release. Do I then need to check if the user is running the buggy release and display an error message that they can't use a specific feature with a bug in it because it will crash their hardware? Is there a more graceful way? Do you display an alert and tell them to upgrade to the latest SDK? Do you completely remove the feature? Advice would be appreciated.
This is phrased to be agnostic as possible, but I am asking for the purposes of iPhone application development at this time. General answers for other platforms would be nice as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于错误的性质和平台的性质。例如,对于 iPhone,您不能只是告诉用户升级他或她的手机。如果你的目标是支持iPhone版本XY,那么你就需要支持相应的SDK;然而,针对浏览器 X 版本 YZ 或 Java 版本 XY,有时告诉用户升级可能是可以接受的。* 给人的印象是您的应用程序只能执行某些操作,然后给出一条错误消息,表明它无法支持该版本的平台并不能带来良好的用户体验。如果可能,尝试解决平台中的缺陷(可能通过重新实现应该在 SDK 中运行的代码)并向用户提供该功能。如果这是不可能的,那么当在有缺陷的平台版本上运行时禁用它,但一定要从应用程序中删除该功能的所有痕迹(这样用户就不会只是为了告诉他们而单击按钮)该按钮完全没用)。我应该补充一点,有条件地启用/禁用功能仅在该功能对应用程序不是必需的情况下才有意义;如果某个功能是应用程序的核心方面,那么您最好找到解决方法或提高最低要求,因为向用户提供有缺陷的应用程序是不合适的。
*告诉用户升级是不合理的一个例子是业务应用程序,因为业务系统管理员往往非常懒惰,并且用户没有权力自行升级。
It depends on the nature of the bug and on the nature of the platform. With the iPhone, for example, you cannot just tell the user to upgrade his or her phone. If your goal is to support iPhone version X.Y, then you will need to support the corresponding SDK; whereas, targeting browser X version Y.Z or Java version X.Y, it may sometimes be acceptable to tell users to upgrade.* Giving the impression that your application can do something only to give an error message saying that it cannot support it for that version of the platform does not make for a good user experience. If possible, try to work around the deficiency in the platform (by possibly reimplementing code that supposedly works in the SDK) and provide the feature to the user. If that isn't possible, then disable it when running on the deficient version of the platform, but be sure to remove all traces of that feature from the application (so that users don't click on a button only for it to tell them that the button is completely useless). I should add that conditionally enabling/disabling features is only sensible in the case where the feature is not essential to application; if a feature is a core aspect of the application, then you'd better find a workaround or raise the minimum requirements as it would not be appropriate to ship a deficient application to your users.
*An example where telling users to upgrade is not reasonable would be business applications, since business sys admins tend to be unusually lazy and users have no power to upgrade by themselves.