让 iOS 应用直接退出

作者: 碧霄问鼎 | 来源:发表于2015-12-29 19:41 被阅读1964次

公司的应用总共有三个生产环境,测试,UAT,和正式的。每个环境都打个包,上传 蒲公英 或者 fir,测试组要每个版本都下载一个,太麻烦,然后测试组老大希望加一个在应用内直接切换环境的功能。切换环境后需要让应用退出下,上网搜到这样的代码:

- (void)exitApplication {
    //直接退,看起来好像是 crash 所以做个动画
    [UIView beginAnimations:@"exitApplication" context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view.window cache:NO];
    [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
    self.view.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);
    }
}

下篇见~

相关文章

网友评论

  • YYLittleCat:给你们推荐个好用的,iconsole,在代码里配置个plist,可以轻松切换开发环境;
  • 夕若若:我只想问切换环境为什么非要退一下?
  • 63236c09d21a:不用动画的
    UIApplication *app = [UIApplication sharedApplication];
    [app performSelector:@selector(suspend)];
  • 751fc49dcbfd:我们公司是 切换无线网络直接就切换环境了。
  • UItachi:Mac/Cocoa可以通过[[NSRunningApplication currentApplication] terminate]优雅一点退出当前应用程序,appdelegate会接收一个回调。相比直接exit(0),太暴力了。
  • 子达如何:这也太费苦心了吧……
    碧霄问鼎:@ZeroJ 只是测试的时候用,没事的。
    ZeroJ:@碧霄问鼎 exit()苹果建议不能用
    碧霄问鼎:@子达如何 开始的时候都说这个功能实现不了,后来我竟然给实现了 :grin:
  • newbiecoder:没了,,,, :disappointed_relieved:
    碧霄问鼎:@newbiecoder 把原来的 URL 不用宏定义,改成变量就好了。我最后实现了不用重启应用就可以切换环境。
    newbiecoder:@碧霄问鼎 我想学一下,不重新打包怎么切换环境:grin:
    碧霄问鼎:@newbiecoder 你想要怎样。。。

本文标题:让 iOS 应用直接退出

本文链接:https://www.haomeiwen.com/subject/jcrihttx.html