我将我的应用中的一些文档(图像和PDF')保存到iPad目录中。现在,一旦操作完成,需要删除这些客户敏感的文档,用户注销。 在Log off事件的情况下,我正在处理目录中的删除,但是如果应用程序突然崩溃,如何实现此目的。
答案 0 :(得分:5)
您需要添加UncaughtExceptionHandler,并删除缓存。
void myHandler(NSException *exception)
{
// Remove caches...
.....
// And maybe let the app to crash?
exit(0);
}
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&myHandler);
....
}
因此,当引发未处理的NSException时将调用myHandler
答案 1 :(得分:1)
我的应用程序中有一些代码可以在崩溃时写入日志。也许你可以在流程消失之前使用它来执行某些操作。
这是:
@interface AppDelegate()
void uncaughtExceptionHandler(NSException *exception);
@end
@implementation AppDelegate
void uncaughtExceptionHandler(NSException *exception)
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"app_did_crash"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
-(BOOL)application:(UIApplication *)application
{
// Get crash log
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
}
答案 2 :(得分:0)
我认为你需要一个使用NSSetUncaughtExceptionHandler
的异常处理程序- (void)applicationDidFinishLaunching:(UIApplication *)application
{
NSSetUncaughtExceptionHandler(&myExceptionHandler);
}
void myExceptionHandler(NSException *exception)
{
// do something before app crash here
}