0

我知道这个问题已经被问过很多次了,我们已经从苹果那里得到了这个链接作为答案:http: //developer.apple.com/library/ios/#qa/qa1561/

然而,最近,我在下面遇到了这个案例。除了直接使用“exit(0)”之外,我没有看到任何其他选项。

我有一个应用程序可以从我的 iPhone 的相机或麦克风收集数字数据。然后我设计了一个按钮,上面写着“保存并退出”,因为这是我的应用程序的一个非常常见的场景。

如果无法以编程方式退出我的应用程序,我只能有一个愚蠢的“保存”按钮。然后我的用户必须单击两次(1.“保存”按钮,然后 2.“主页”按钮)才能获得相同的结果 - 也就是这两个动作按顺序排列在一起。

然后我意识到,也许,这是我设计的一个缺陷。因此,我以这种方式更改了它。

我删除了“保存退出”按钮,而是在底部添加了一条注释,上面写着“使用 HOME 按钮保存并退出”。我试图从用户的动作中捕捉到退出信号,然后在之前执行 SAVE。

通过这样做,用户可以简单地使用本机 HOME 按钮来执行“保存和退出”。

然而,这个解决方案并不完美。

如果我的应用程序保存数据的时间过长,iOS 仍有机会在用户点击“HOME”按钮后终止我的应用程序。然后用户可能会丢失他们的数据,恕不另行通知!

如果我可以以编程方式退出,我可以先尝试“保存”。如果“保存”失败,我有足够的时间通知我的用户或完成所有需要的补救工作。

您认为这是在我的应用程序中使用“exit(0)”而不被拒绝的有效理由吗?

4

2 回答 2

2

不,我非常怀疑苹果会让你有一个“保存并退出”按钮。它完全违背了平台约定,直接与 Apple 的 HIG 相矛盾。

在什么情况下,您认为您的数据在 iOS 为应用程序清理的时间量内无法保存?你真的测量过这个并发现它是一个问题吗?

于 2011-07-01T16:17:40.280 回答
1

为什么不尝试一直自动保存?您可以保存到临时目录,然后在退出时执行文件移动操作。这可能比您当前有时会失败的保存操作快得多。

于 2011-07-01T16:07:36.540 回答