程式碼退出IOS中App
阿新 • • 發佈:2019-01-09
app想要主動退出,不通過按Home鍵,該怎麼做?
1:exit(0);
此方法可能已被蘋果禁用,不行的話可以採用下面的方法;
2 [selfperformSelector:@selector(aMethodNotExist) withObject:nil]; 呼叫一個不存在的方法,引發程式異常退出; 3: abort(); 引發不正常程序的終止。因為呼叫abort()而終止,那麼是因為某些條件成立,而使用者不得不作出終止當前程序的決定(參考assert()),abort()行為本身並不異常,如果使用者呼叫了,那麼程序就終止,完全是預期的行為。原理上來說,abort通過給自己傳送SIGABRT訊號,然後kernel會殺掉自己,並coredump。但是,如果使用者重新定義了SIGABRT訊號的行為呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include<stdlib.h>
#include<signal.h>
#include<stdio.h>
#include<assert.h>
voidhandler(inti)
{
printf ( "catchsignal\n" );
}
intmain()
{
signal (SIGABRT,handler);
abort ();
while (1); /*Thisisneverreached*/
return0; }
|