【问题标题】:iphone - how to properly handle exceptional situations (signals ?)iphone - 如何正确处理异常情况(信号?)
【发布时间】:2011-02-20 09:23:59
【问题描述】:

在我的 iphone 应用程序中,我想提供某种应用程序终止处理程序,它将在应用程序终止之前完成一些最终工作(删除一些敏感数据)。

我想处理尽可能多的终止情况:
1) 用户终止应用
2) 设备电量耗尽
3) 系统因某种原因终止应用程序(例如内存不足或应用程序冻结)
4) 应用程序崩溃(EXC_BAD_ACCESS 或 SIGSEGV)

还有其他特殊情况吗?
实现此目的的最佳方法是什么(例如,在情况 2 中是否调用了 applicationWillTerminate 方法)?
是否可以在信号处理程序中进行清理(包括 iPhone 安全框架调用)?

问候

【问题讨论】:

  • 您的敏感数据已写入持久存储?有没有办法可以在内存中创建它?如果使用 SQLite,它支持内存数据库。
  • 不,我的数据存储在钥匙串中 :) 但是我正在开发一个电子银行应用程序,我的客户希望我在将所有数据(包括密钥)存储到钥匙串之前手动加密它们。由于 SDK 不支持这一点,我必须对密钥和数据签名进行某种破解(请参阅我之前的帖子:stackoverflow.com/questions/2826090/…)。因此,我在应用程序生命周期内将密钥的解密版本保存到钥匙串中,以便能够进行签名,然后在应用程序终止时我想将其删除。

标签: iphone exc-bad-access signal-handling


【解决方案1】:

这个及时的post 将帮助您从 4) 开始。

您可以从您的应用委托中知道您的应用何时终止,并且您可以收听有关电池更换的通知,请参阅UIDevice

【讨论】:

  • 感谢这个接缝就像一个关于我将要做什么的好教程。
猜你喜欢
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 2021-05-22
  • 1970-01-01
  • 2017-09-12
  • 1970-01-01
相关资源
最近更新 更多