app异常退出程序 ios
2015-12-03 22:42:44 qq_17007915 阅读数 257

//退出APP的方法

- (void)exitApplication {

    AppDelegate *app = [UIApplication sharedApplication].delegate;

    UIWindow *window = app.window;

    [UIView animateWithDuration:1.0f animations:^{

        window.alpha = 0;

        window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);

    } completion:^(BOOL finished) {

        exit(0);

    }];

}

2014-07-07 13:44:12 u011269663 阅读数 457

 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@"" delegate:self cancelButtonTitle:self.exityes otherButtonTitles:self.exitno,nil];
        
  [alert show];


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{
    if(buttonIndex ==0){
        
        
        [self exitApplication ];
        
    }

}

- (void)exitApplication {
    
    AppDelegate *app = [UIApplication sharedApplication].delegate;
    UIWindow *window = app.window;
    
    [UIView animateWithDuration:1.0f animations:^{
        window.alpha = 0;
        window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
    } completion:^(BOOL finished) {
        exit(0);
    }];
    //exit(0);
    
}


Q:怎样用代码方式退出IOS程序


       A:没有提供用于正常退出IOS应用的API。


       在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;


       警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;


如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;


2015-08-11 15:09:16 Lu_Ca 阅读数 1939
 

IOS 退出程序APP代码 

分类: ios 4162人阅读 评论(0) 收藏 举报

  UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@"" delegate:self cancelButtonTitle:self.exityes otherButtonTitles:self.exitno,nil];
        
  [alert show];


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{
    if(buttonIndex ==0){
        
        
        [self exitApplication ];
        
    }

}

- (void)exitApplication {
    
    AppDelegate *app = [UIApplication sharedApplication].delegate;
    UIWindow *window = app.window;
    
    [UIView animateWithDuration:1.0f animations:^{
        window.alpha = 0;
        window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
    } completion:^(BOOL finished) {
        exit(0);
    }];
    //exit(0);
    
}


Q:怎样用代码方式退出IOS程序


       A:没有提供用于正常退出IOS应用的API。


       在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;


       警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;


如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;


2014-07-04 16:07:12 m372897500 阅读数 42783

  UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@"" delegate:self cancelButtonTitle:self.exityes otherButtonTitles:self.exitno,nil];
        
  [alert show];


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{
    if(buttonIndex ==0){
        
        
        [self exitApplication ];
        
    }

}

- (void)exitApplication {
    
    AppDelegate *app = [UIApplication sharedApplication].delegate;
    UIWindow *window = app.window;
    
    [UIView animateWithDuration:1.0f animations:^{
        window.alpha = 0;
        window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
    } completion:^(BOOL finished) {
        exit(0);
    }];
    //exit(0);
    
}


Q:怎样用代码方式退出IOS程序


       A:没有提供用于正常退出IOS应用的API。


       在IOS中,用户点击Home键来关闭应用。你的应用应该符合以下条件:它不能自行调用方法,而应采取措施与用户交互,表明问题的性质和应用可能会采取的行为,比如打开WIFI,使用定位服务等供用户选择确定使用;


       警告:不要使用exit函数,调用exit会让用户感觉程序崩溃了,不会有按Home键返回时的平滑过渡和动画效果;另外,使用exit可能会丢失数据,因为调用exit并不会调用-applicationWillTerminate:方法和UIApplicationDelegate方法;


如果在开发或者测试中确实需要强行终止程序时,推荐使用abort 函数和assert宏;



2015-08-26 16:01:41 u011238639 阅读数 1998

其实这个方法早就知道,但是太久没用过,以至于潜意识中一直认为iOS程序只能通过home键退出。

退出程序只需要一条程序:

exit(0);


不过这个退出的效果确实很差,感觉就是程序直接崩溃了,而不是开发者蓄意为之。所以如果真用到这个方法,很多开发者都会做个退出动画让它看上去好看一些。

下面是网上比较多的一个动画:

<span style="font-size:18px;color:#009900;background-color: rgb(204, 204, 204);">- (void)existApp
{
    [UIView beginAnimations:@"exitApplication" context:nil];
    
    [UIView setAnimationDuration:0.5];
    
    [UIView setAnimationDelegate:self];
    
    // [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.view.window cache:NO];
    
    [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO];
    
    [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
    
    //self.view.window.bounds = CGRectMake(0, 0, 0, 0);
    
    self.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);
        
    }   
}</span>

上面的代码效果还不错,需要注意的是使用该方法的话程序会马上停止一切活动,包括AppDelegate中的进入后台或者程序即将推出的方法均不会调用。所以如果有要保存的数据开发者需要事先保存。


iOS 退出程序

阅读数 10

iOS退出程序的代码

阅读数 264

没有更多推荐了,返回首页