Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按代码退出iphone中的应用程序_Iphone - Fatal编程技术网

按代码退出iphone中的应用程序

按代码退出iphone中的应用程序,iphone,Iphone,可能重复: 我在应用程序的第一个视图中有一个关闭按钮。我需要在单击按钮时成功关闭应用程序。我试过这两个案子,但没有成功 [[UIApplication sharedApplication]终止] [[UIApplication sharedApplication]退出(0)] 我不是很确定,但根据HIG,iPhone应用程序不应该关闭 但您可以在应用程序的plist中设置UIApplicationExitsOnSuspend。当您切换到另一个应用程序时,它将导致该应用程序在iOS4下不会进入后

可能重复:

我在应用程序的第一个视图中有一个关闭按钮。我需要在单击按钮时成功关闭应用程序。我试过这两个案子,但没有成功

  • [[UIApplication sharedApplication]终止]
  • [[UIApplication sharedApplication]退出(0)]

  • 我不是很确定,但根据HIG,iPhone应用程序不应该关闭


    但您可以在应用程序的plist中设置UIApplicationExitsOnSuspend。当您切换到另一个应用程序时,它将导致该应用程序在iOS4下不会进入后台。:)

    iOS应用程序不应该自行退出;用户使用设备按钮退出/挂起应用程序。有关这方面的更多信息,请阅读iOS人机界面指南

    如果你的应用程序已经完成了它应该完成的任务,并且你通常会退出,那么你可以将应用程序的状态重置为应用程序启动时的状态。您可能应该在UI中包含一些提示,以便用户了解正在发生的事情——记住,这里应该由用户负责。但如果你的应用程序已经达到了它的逻辑结论,那么对用户来说最“正确”的事情可能就是回到初始状态。你经常在游戏中看到这一点——一旦游戏完成,应用程序就会返回到简介屏幕,等待用户开始另一个游戏

    请注意,您发布的两个代码段都不正确。UIApplication没有
    -terminate
    方法。(NSApplication确实有一个
    -terminate:
    方法,但它需要一个参数,显然在iOS中不可用。)第二个示例以一种毫无意义的方式将函数调用语法与消息发送语法混合在一起——我怀疑它甚至不会编译。

    只需调用
    退出(0)


    无需调用UIApplication的实例。但在调用exit方法之前,请执行您需要执行的任何操作,例如保存状态、值(如果有的话)等。

    类似的操作我也在做,同时我想在显示警报后退出我的应用程序。我认为这可能有助于您

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
    
    NSLog(@"%@",alertView.title);
    if(alertView.title== @"Collision failed")
    {
        if(buttonIndex==0)
        {
        //gameState = kGameStateRunning;
        [self loadView];
        [self viewDidLoad];
            count=0;
        }
        else
        {
            exit(0);
        }
    }
    else 
    {
        if(buttonIndex==0)
        {
            //gameState = kGameStateRunning;
            [self loadView];
            [self viewDidLoad];
        }
        else
        {
            second_stage *obj=[[second_stage alloc]initWithNibName:@"second_stage" bundle:nil];
            obj.count2=count;
            [self presentModalViewController:obj animated:YES];
        }
    }
    

    我只是在写退出(0)

    正如其他人在相关问题中所述,不要这样做。这违反了苹果的设计准则,很可能会导致你的申请在审查过程中被拒绝。这也不是一个很好的用户体验。