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

2021-11-17  本文已影响0人  Dolway

使用如下组合可达到按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)];
};
<article class="_2rhmJa">

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); // 不会抛出异常 正常终止进程,并进行清理
上一篇 下一篇

猜你喜欢

热点阅读