iOS回到桌面 通过代码回到桌面 iOS程序内通过代码回到桌面

使用如下组合可达到按home键退到后台的动画效果。

// 进入后台
UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)
// 结束应用
DispatchQueue.main.asyncAfter(deadline: .now() + 1.25) {
  UIApplication.shared.perform(Selector(("terminateWithSuccess")))
}

需要注意的是,单独第一行就可以达到 有动画回到桌面程序进入后台的目的,单独第二行 没有动画回到桌面并终止应用,两行同时使用可以 动画回到桌面并终止应用。 根据需要选择其中一个或两个一起使用。
oc:

if([[UIApplication sharedApplication] respondsToSelector:@selector(terminateWithSuccess)]){  
    [[UIApplication sharedApplication] performSelector:@selector(suspend)];
};
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 杀掉应用,这里会有警告⚠️忽略即可,强迫症的话就使用exit(0)吧 if([[UIApplication sharedApplication] respondsToSelector:@selector(terminateWithSuccess)]){ [[UIApplication sharedApplication] performSelector:@selector(terminateWithSuccess)]; }; });

其他退出方式 : 这样的效果有点生硬,和闪退是一样的效果,交互不好

abort(); // 会抛出异常 立即终止当前进程,产生异常程序终止
exit(0); // 不会抛出异常 正常终止进程,并进行清理

你可能感兴趣的:(iOS回到桌面 通过代码回到桌面 iOS程序内通过代码回到桌面)