//iOS啟動時總會調(diào)用--當程序載入后執(zhí)行
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//參數(shù)launchOptions-為NSDictionary類型的對象,里面存儲有程序啟動的原因
/*
參數(shù)launchOptions-為NSDictionary類型的對象志鹃,里面存儲有程序啟動的原因
1. 若用戶直接啟動,lauchOptions內(nèi)無數(shù)據(jù);
2.若由其他應(yīng)用程序通過openURL:啟動,則UIApplicationLaunchOptionsURLKey對應(yīng)的對象為啟動URL(NSURL),UIApplicationLaunchOptionsSourceApplicationKey對應(yīng)啟動的源應(yīng)用程序的bundle ID (NSString)雁乡;
3.若由本地通知啟動吐葱,則UIApplicationLaunchOptionsLocalNotificationKey對應(yīng)的是為啟動應(yīng)用程序的的本地通知對象(UILocalNotification)街望;
4.若由遠程通知啟動,則UIApplicationLaunchOptionsRemoteNotificationKey對應(yīng)的是啟動應(yīng)用程序的的遠程通知信息userInfo(NSDictionary)弟跑;
其他key還有UIApplicationLaunchOptionsAnnotationKey,UIApplicationLaunchOptionsLocationKey,
UIApplicationLaunchOptionsNewsstandDownloadsKey灾前。
如果要在啟動時,做出一些區(qū)分孟辑,那就需要在下面的代碼做處理哎甲。
NSURL *url = [options objectForKey:UIApplicationLaunchOptionsURLKey];
if(url)
{
}
NSString *bundleId = [options objectForKey:UIApplicationLaunchOptionsSourceApplicationKey];
if(bundleId)
{
}
UILocalNotification * localNotify = [options objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if(localNotify)
{
}
NSDictionary * userInfo = [options objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if(userInfo)
{
}
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
//應(yīng)用程序?qū)⒁M入非活動狀態(tài),即將進入后臺
/*
特別說明:在應(yīng)用程序?qū)⒁苫顒訝顟B(tài)切換到非活動狀態(tài)時候扑浸,要執(zhí)行此方法烧给,如 按下 home 按鈕,返回主屏幕喝噪,或全屏之間切換應(yīng)用程序等。
重點:當應(yīng)用程序?qū)⒁M入非活躍狀態(tài)時執(zhí)行指么,并且在此期間酝惧,應(yīng)用程序不會接收任何消息或事件,比如來電話了伯诬。
*/
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
//如果應(yīng)用程序支持后臺運行晚唇,則應(yīng)用程序已經(jīng)進入后臺運行
/*
重點:當程序被推送到后臺的時候調(diào)用,所以要設(shè)置后臺繼續(xù)運行盗似,則在這個函數(shù)里面設(shè)置即可哩陕。
*/
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
//應(yīng)用程序?qū)⒁M入活動狀態(tài),即將進入前臺運行
/*
特別說明:當程序從后臺將要重新回到前臺時候調(diào)用
*/
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
//應(yīng)用程序已進入前臺并且處于活躍狀態(tài)
/*
特別說明:當應(yīng)用程序進入活動狀態(tài)時執(zhí)行
*/
}
- (void)applicationWillTerminate:(UIApplication *)application {
//應(yīng)用程序?qū)⒁顺?/p>
/*
特別說明:當程序?qū)⒁顺鰰r被調(diào)用悍及,通常是用來保存數(shù)據(jù)和一些退出前的清理工作心赶,這個需要要設(shè)置UIApplicationExitsOnSuspend的鍵值缺猛。
*/
}
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{
//系統(tǒng)內(nèi)存不足,需要進行清理工作
/*
特別說明:iPhone設(shè)備只有有限的內(nèi)存耻姥,如果為應(yīng)用程序分配了太多內(nèi)存操作系統(tǒng)會終止應(yīng)用程序的運行琐簇,在終止前會執(zhí)行這個方法鸽嫂,通常可以在這里進行內(nèi)存清理工作防止程序被終止
*/
}
- (void)applicationSignificantTimeChange:(UIApplication *)application{
//當系統(tǒng)時間發(fā)生改變時執(zhí)行
}
- (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame{
//當StatusBar框?qū)⒁兓瘯r執(zhí)行
}
- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame{
//當StatusBar框變化完成后執(zhí)行
}