Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iphone - how to properly handle exceptional situations (signals ?)

In my iphone app, I want to provide some sort of app termination handler that will do some final work (delete some sensitive data) before the application terminates.

I want to handle as much of the termination situations as possible:
1) User terminates the app
2) The device runs out of battery
3) The system terminates the app due to some reason (e.g. out of memory or app freeze)
4) Application crashes (EXC_BAD_ACCESS or SIGSEGV)

Any other exceptional situation ?
What is the best way to achieve this (e.g. is applicationWillTerminate method called in situation 2) ?
Is it possible to do the cleanup in a signal handler (includes iPhone Security framework calls) ?

regards

like image 983
pmilosev Avatar asked Nov 14 '22 10:11

pmilosev


1 Answers

This timely post will help you with 4) to start with.

You know when your app is going to terminate from your app delegate and you can listen for notifcations to battery changes, see UIDevice.

like image 151
petert Avatar answered Dec 19 '22 11:12

petert