博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios3和ios4退出时的区别
阅读量:5962 次
发布时间:2019-06-19

本文共 2621 字,大约阅读时间需要 8 分钟。

http://blog.sina.com.cn/s/blog_45e2b66c01011bjn.html
第一种方法:
//首先声明app       UIApplication * app= [UIApplication sharedApplication];      //接下来四行是新的功能,能检查设备是否支持后台,老系统和一代的backgroundSupported = NO;支持的自然就是YES啦    UIDevice* device = [UIDevice currentDevice];    BOOL backgroundSupported = NO;    if ([device respondsToSelector:@selector(isMultitaskingSupported)])    backgroundSupported = device.multitaskingSupported;          //如果设备不支持后台,那么就继续使用applicationWillTerminate:    if(backgroundSupported==NO)    {        [[NSNotificationCenter defaultCenter ] addObserver:self                                                  selector:@selector(applicationWillTerminate:)                                                      name:UIApplicationWillTerminateNotification                                                    object:app];    }       //如果支持    else{                //这个新的UIApplicationWillResignActiveNotification就是在用户按下home键时的通知,建议用它的selector去保存数据,能防止用户直接在任务管理器里强制退出~        [[NSNotificationCenter defaultCenter ] addObserver:self                                                  selector:@selector(applicationDidEnterBackground:)                                                      name:UIApplicationWillResignActiveNotification                                                    object:app];                        //这个UIApplicationWillEnterForegroundNotification是app在切回前台时的通知,可以显示“欢迎回来”之类的=___=        [[NSNotificationCenter defaultCenter ] addObserver:self                                                  selector:@selector(applicationDidBecomeActive:)                                                      name:UIApplicationWillEnterForegroundNotification                                                    object:app];            }

 

第二: 在工程中的Info.plist中有一个属性是“application don‘t  run   in  background”,设置他的值,可以实现后台的运行或者暂停退出等功能。
另附加注意,更详细更有用:
最终完美版:
首先,对于
iphone4的手机   抑或是ios4  的项目   重载了下面的几个方法,系统会自动的保留现场,不用自己写代码控制;
- (void)applicationWillResignActive:(UIApplication *)application {    //home键时执行    //直接退出程序    //[[UIApplication sharedApplication] terminateWithSuccess];    }- (void)applicationDidEnterBackground:(UIApplication *)application {    //home键时执行    //直接退出程序  ****  [[UIApplication sharedApplication] terminateWithSuccess];}- (void)applicationWillEnterForeground:(UIApplication *)application {    //重新回到活跃状态    }- (void)applicationDidBecomeActive:(UIApplication *)application {    //重新回到活跃状态    }

 

然后,打***的那行代码主要实现,按home键程序直接退出,在有些程序中为了安全的考虑会要求这样做,但那行代码引用的是一个私有的方法,app  store的审核是通不过的(本人亲身经历被打回),还有种方法是:把***的那行代码换成“exit(0);”,这行代码也是可以实现按home键退出程序的功能,而且能通过审核

转载于:https://www.cnblogs.com/pengyingh/articles/2445226.html

你可能感兴趣的文章
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>