IOS 退出程序代码
2016-04-17 00:31
337 查看
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@"" delegate:self cancelButtonTitle:self.exityes otherButtonTitles:self.exitno,nil];
[alert show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex ==0){
[self exitApplication ];
}
}
- (void)exitApplication {
AppDelegate *app = [UIApplication sharedApplication].delegate;
UIWindow *window = app.window;
[UIView animateWithDuration:1.0f animations:^{
window.alpha = 0;
window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
} completion:^(BOOL finished) {
exit(0);
}];
//exit(0);
}
用此方法可能会在上传AppStore时被拒
[self performSelector:@selector(notExistCall)];
abort();
苹果原则上是反对这样做的,他们认为应用的生命周期是由用户来控制的,要退出就按HOME键
exit(0) ? 还有人敢用?? 为什么这么说? 好像在OS还在2.*的时候,苹果就已经禁止了这个方法, 原因是容易让用户产生”产品质量不好”的错觉.
调用个不存在的方法让程序崩溃 比如: [self performSelector:@selector(Ih8ThisButICantStopU)];
raise一个NSException (其实原理是一样的)
abort(); 苹果官方的例子中好多地方用到了这个,所以应该是安全
Q:怎样用代码方式退出IOS程序
A:没有提供用于正常退出IOS应用的API。
在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;
警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;
如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;
iOS代码退出程序一般直接调用exit(0); ,但是视觉上看起来像闪退,于是,我借鉴了下网上别人的代码,写了一个向下切出退出程序的方法,代码如下:
[alert show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex ==0){
[self exitApplication ];
}
}
- (void)exitApplication {
AppDelegate *app = [UIApplication sharedApplication].delegate;
UIWindow *window = app.window;
[UIView animateWithDuration:1.0f animations:^{
window.alpha = 0;
window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
} completion:^(BOOL finished) {
exit(0);
}];
//exit(0);
}
用此方法可能会在上传AppStore时被拒
[self performSelector:@selector(notExistCall)];
abort();
苹果原则上是反对这样做的,他们认为应用的生命周期是由用户来控制的,要退出就按HOME键
exit(0) ? 还有人敢用?? 为什么这么说? 好像在OS还在2.*的时候,苹果就已经禁止了这个方法, 原因是容易让用户产生”产品质量不好”的错觉.
调用个不存在的方法让程序崩溃 比如: [self performSelector:@selector(Ih8ThisButICantStopU)];
raise一个NSException (其实原理是一样的)
abort(); 苹果官方的例子中好多地方用到了这个,所以应该是安全
Q:怎样用代码方式退出IOS程序
A:没有提供用于正常退出IOS应用的API。
在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;
警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;
如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;
iOS代码退出程序一般直接调用exit(0); ,但是视觉上看起来像闪退,于是,我借鉴了下网上别人的代码,写了一个向下切出退出程序的方法,代码如下:
相关文章推荐
- iOS开发之Thrift的二进制数据编解码
- IOS开发之导航控制器原理
- iOS开发之手势交互
- 集成支付宝步骤总结
- IOS博客项目搭建-12-刷新数据-显示最新的微博数提示
- iOS开发总结之自定义非等高cell-xib(方法一)
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- iOS开发总结之自定义非等高cell-storyboard
- iOS RunLoop 初识
- iOS开发第三发库引入--cocoapod的使用及问题解决
- iOS第三方框架集合
- iOS学习笔记31-从图册获取图片和视频
- iOS学习笔记31-从图册获取图片和视频
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
- iOS MJRefresh下拉刷新 上拉加载(可添加gif图版) 小结
- 一个很好的仿微博消息浏览功能的Demo
- iOS App图标和启动画面尺寸
- iOS/mac开发的一些知名个人博客
- iOS开发小细节
- iOS 用 SDWebImage 清理图片缓存