【发布时间】:2011-09-26 20:57:22
【问题描述】:
我知道这个问题已经被问过很多次了,我们从 Apple 那里得到了这个链接作为答案: http://developer.apple.com/library/ios/#qa/qa1561/
但是,最近,我在下面遇到了这个案例。除了直接使用“exit(0)”之外,我没有看到任何其他选项。
我有一个应用程序可以从我的 iPhone 的摄像头或麦克风收集数字数据。 然后我设计了一个按钮,上面写着“保存并退出”,因为这是我的应用程序中非常常见的场景。
没有以编程方式退出我的应用程序的能力,我只能有一个愚蠢的“保存”按钮。然后我的用户必须单击两次(1.“保存”按钮,然后 2.“主页”按钮)才能获得相同的结果 - 也就是这两个动作按顺序排列在一起。
然后我意识到,也许,这是我设计的一个缺陷。所以我就这样改了。
我删除了“保存退出”按钮,而是在底部添加了一条注释,上面写着“使用 HOME 按钮保存并退出”。我试图从用户的操作中捕捉到退出信号,然后在之前执行 SAVE。
通过这样做,用户可以简单地使用原生 HOME 按钮来执行“保存和退出”。
但是,这个解决方案并不完美。
如果我的应用程序保存数据的时间过长,iOS 仍有机会在用户点击“HOME”按钮后终止我的应用程序。然后用户可能会在没有通知的情况下丢失他们的数据!
如果我可以以编程方式退出,我可以先尝试“保存”。如果“保存”失败,我有足够的时间通知我的用户或完成所有需要的补救工作。
您认为这是在我的应用程序中使用“exit(0)”而不被拒绝的正当理由吗?
【问题讨论】:
-
为什么用户首先需要退出?正如您所说,设备上的主页按钮已经让他们离开当前的应用程序。如果问题是应用程序正在执行某项操作,则您要么 a) 需要显示“请勿退出直到完成”的消息,或者更理想的是 b) 确保应用程序可以在后台进行处理
-
@DA 1. 多任务(后台处理)在一些旧设备中不可用; 2.拍照或录音后,用户需要退出,因为他们已经完成了这个应用程序。否则,按照目前的设计,下一轮拍照或录音会自动开始。如果没有此功能,他们必须单击两次才能保存并退出。
-
@PengOne 究竟如何? :D 你建议给乔布斯写一封信吗?
-
@aXqd:当然,或者在 Apple 论坛中提问。或阅读 Apple 的指南。无论如何,这里没有人能肯定地告诉你。
-
@PengOne 你是对的。我只是在想,如果你们同意这是一个有效的理由,那么我可以用此页面的链接给 Apple 写一封邮件作为支持。 :P