怎样用代码方式退出IOS程序
转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7484579
原文 :iOS Developer Library
Technical Q&A QA1561
How do I programmatically quit my iOS application?
Q:怎样用代码方式退出IOS程序
A:没有提供用于正常退出IOS应用的API。
在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;
警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;
如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;
下面是使用exit函数关闭应用:
1 //-------------------------------- 使用退出程序 -----------------------------------------// 2 3 - (void)exitApplication { 4 5 [UIView beginAnimations:@"exitApplication" context:nil]; 6 7 [UIView setAnimationDuration:0.5]; 8 9 [UIView setAnimationDelegate:self]; 10 11 // [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.view.window cache:NO]; 12 13 [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO]; 14 15 [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)]; 16 17 //self.view.window.bounds = CGRectMake(0, 0, 0, 0); 18 19 self.window.bounds = CGRectMake(0, 0, 0, 0); 20 21 [UIView commitAnimations]; 22 23 } 24 25 26 27 - (void)animationFinished:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context { 28 29 if ([animationID compare:@"exitApplication"] == 0) { 30 31 exit(0); 32 33 } 34 35 }
浙公网安备 33010602011771号