程序的死亡大致有三种:自然死亡,即无疾而终,通常就是main()中的一个return 0;自杀,当程序发现自己再活下去已经没有任何意义时,通常会选择自杀。当然,这种自杀也是一种请求式的自杀,即请求OS将自己毙掉

方法一.

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"退!出!" message:@"退出APP" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"退出", nil];[alert show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{if(buttonIndex ==1){[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);}


方法二.

#pragma mark - 第二种方法
- (void)exitApplication1{[UIView beginAnimations:@"exitApplication" context:nil];[UIView setAnimationDuration:0.5];[UIView setAnimationDelegate:self];// [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.view.window cache:NO];AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;[UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:delegate.window cache:NO];[UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];//self.view.window.bounds = CGRectMake(0, 0, 0, 0);delegate.window.bounds = CGRectMake(0, 0, 0, 0);[UIView commitAnimations];}
- (void)animationFinished:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {if ([animationID compare:@"exitApplication"] == 0) {exit(0);}}


项目 demo 下载,喜欢的朋友请给个 start

iOS 代码关闭App相关推荐

  1. ios APP加密探究几维安全iOS 代码混淆效果参考

    几维安全ios代码混淆效果参考: 什么是加密 加密是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作.大多数病毒就是基于此原理. 加密作用 加壳的程序可以有效阻止对程序 ...

  2. APP加密,ios代码混淆工具,虚拟化技术 适用于移动应用程序的虚拟化加密软件

    概述: KiwiVM是用于移动应用程序的虚拟化加密软件. 它基于Clang编译器扩展,并且在编译项目时虚拟化指定的函数.借助自定义CPU指令的功能,一旦对代码进行加密并且从未解密,攻击者将无法恢复代码 ...

  3. iOS 代码实现退出当前APP到主界面

    iOS 代码实现退出当前APP到主界面 做个小笔记避免忘记 OC[UIApplication sharedApplication] performSelector:@selector(suspend) ...

  4. iOS如何转让 App 给公司或个人

    iOS如何转让 App 给公司或个人 当您将某个 App 出售给其他开发人员,或想要将其移至其他 iTunes Connect 机构,则您需要转让该 App. 您无需将 App 从 App Store ...

  5. iOS 走近商城 APP(三 WKWebView 商品规格选择框架封装)

    原文链接:http://www.jianshu.com/p/293ee1bfe104 商城 -- 由 3033 分享 开篇 忽然发现最近也只有值班才能写东西了,中间更新了两篇其他的断了下商城相关的文章 ...

  6. iOS走近商城APP(四 runloop应用 获取通讯录并处理)

    ###开篇 转眼又要过年了,我的程序员生涯默默的又过了一年,年终篇就先闲扯几句.从接触简书到写第一篇到现在差不多也将近一年了,简书的布局风格确实是赏心悦目,习惯了这种写法之后,再看以前的博客感觉好乱, ...

  7. iOS 跳转App的二三事

    前言 在iOS平台上,经常有这样的需求,当用户在操作的时候需要唤醒或者说跳转到另外一个App中进行操作. 这其中的类型又分为: App -> App 浏览器web页面 -> App 第一种 ...

  8. coordinatorlayout 设置不可滑动_滑动关闭App损害iPhone电池寿命,我们需要“改掉强迫症”吗?...

    神译局是36氪旗下编译团队,关注科技.商业.职场.生活等领域,重点介绍国外的新技术.新观点.新风向. 编者按:自2013年苹果推出iOS 7系统以来,我们在iOS系统中都是通过滑动关闭App应用的方式 ...

  9. 对称加密算法原理--OpenSSL演示、iOS代码运用及CCCrypt安全隐患

    之前介绍了非对称加密算法,这篇文章介绍一下在非对称加密算法出现之前的对称加密算法,常见的对称加密算法.终端演示OpenSSL和iOS代码运用以及CCCrypt的安全隐患等. 对称加密算法:明文通过密钥 ...

最新文章

  1. 麒麟处理器是基于arm的吗_麒麟芯片是基于ARM构架,如果得不到授权华为还能活吗?...
  2. dataframe 按条件删行_根据列值删除Pandas中的DataFrame行
  3. 树莓派做无线打印服务器,亲测可用 树莓派打造无线共享打印机
  4. (12)vue.js 修饰符
  5. 我是 Spring 菜鸟 -- 初始化方法 TODO
  6. 信号通讯编程,王明学learn
  7. 映射文件实现进程通信
  8. win11开机占用率过高怎么办?win11开机内存占用90%
  9. 一文带你搞定AOP切面
  10. Dwg TrueView 2018中文版
  11. 思岚S2激光雷达3—ROS node and test application for RPLIDAR
  12. cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题
  13. Openwrt/Lede软路由设置为旁路由模式
  14. LOL开发者谈网游自动化测试:每天10万次
  15. vscode下载太慢,快速下载vscode方法!
  16. 零基础ESP8266学习篇-认识esp8266
  17. apache dubbo 源码分析系列汇总
  18. MR详细运行原理及过程
  19. Arduino与Proteus仿真实例-密码门禁控制仿真
  20. 理解 HTTPS 的工作原理

热门文章

  1. LSTM长短期记忆网络
  2. onCreate()方法
  3. MPLAB PIC仿真 HEX,Debug HEX,软件仿真
  4. 我学习上的一个小插曲
  5. 什么是原型、原型链、组合继承?
  6. Python-一行输出列表元素
  7. 家里WiFi信号差的问题你碰到过吗?WiFi Mesh路由或许能够解决
  8. Profiler Others占用时间过高的解决方法
  9. 第一篇博客,写给自己
  10. PLSQL Developer新手使用教程(图文教程)(转载)