首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >退出iPhone应用程序的正确方式?

退出iPhone应用程序的正确方式?
EN

Stack Overflow用户
提问于 2008-12-10 05:42:32
回答 17查看 244.8K关注 0票数 287

我正在编写一个iPhone应用程序,由于某些用户操作,我需要强制它退出。清理应用程序分配的内存后,应该调用什么方法来终止应用程序?

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2008-12-10 05:49:13

你试过exit(0)吗?

或者,[[NSThread mainThread] exit],尽管我没有尝试过,但它似乎是更合适的解决方案。

票数 221
EN

Stack Overflow用户

发布于 2008-12-10 14:54:06

在iPhone上,没有退出应用程序的概念。唯一应该导致应用程序退出的操作是触摸手机上的Home按钮,而这不是开发人员可以访问的。

根据苹果公司的说法,你的应用程序不应该自行终止。由于用户没有点击Home按钮,因此任何返回到Home屏幕的操作都会给用户一种应用程序崩溃的印象。这是令人困惑的、非标准的行为,应该避免。

票数 276
EN

Stack Overflow用户

发布于 2013-07-23 13:54:33

当崩溃时,退出(0)出现在用户面前,因此向用户显示一条确认消息。确认后,暂停(以编程方式按下主页按钮)并等待2秒,同时应用程序将进入后台动画,然后在用户视图后面退出

代码语言:javascript
复制
-(IBAction)doExit
{
    //show confirmation message to user
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Confirmation"
                                                 message:@"Do you want to exit?"
                                                delegate:self
                                       cancelButtonTitle:@"Cancel"
                                       otherButtonTitles:@"OK", nil];
    [alert show];
}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex != 0)  // 0 == the cancel button
    {
        //home button press programmatically
        UIApplication *app = [UIApplication sharedApplication];
        [app performSelector:@selector(suspend)];

        //wait 2 seconds while app is going background
        [NSThread sleepForTimeInterval:2.0];

        //exit app when app is in background
        exit(0);
    }
}
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/355168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档