- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
說(shuō)明:當(dāng)應(yīng)用程序啟動(dòng)時(shí)執(zhí)行,應(yīng)用程序啟動(dòng)入口。只在應(yīng)用程序啟動(dòng)時(shí)執(zhí)行一次萌业。application參數(shù)用來(lái)獲取應(yīng)用程序的狀態(tài)、變量等奸柬,值得注意的是字典參數(shù):(NSDictionary *)launchOptions生年,該參數(shù)存儲(chǔ)程序啟動(dòng)的原因。
1.若用戶直接啟動(dòng)廓奕,lauchOptions內(nèi)無(wú)數(shù)據(jù);
2.若由其他應(yīng)用程序通過(guò)openURL:啟動(dòng)抱婉,則UIApplicationLaunchOptionsURLKey對(duì)應(yīng)的對(duì)象為啟動(dòng)URL(NSURL),UIApplicationLaunchOptionsSourceApplicationKey對(duì)應(yīng)啟動(dòng)的源應(yīng)用程序的bundle ID (NSString);
3.若由本地通知啟動(dòng)桌粉,則UIApplicationLaunchOptionsLocalNotificationKey對(duì)應(yīng)的是為啟動(dòng)應(yīng)用程序的的本地通知對(duì)象(UILocalNotification)蒸绩;
4.若由遠(yuǎn)程通知啟動(dòng),則UIApplicationLaunchOptionsRemoteNotificationKey對(duì)應(yīng)的是啟動(dòng)應(yīng)用程序的的遠(yuǎn)程通知信息userInfo(NSDictionary)铃肯;
其他key還有UIApplicationLaunchOptionsAnnotationKey,UIApplicationLaunchOptionsLocationKey,
UIApplicationLaunchOptionsNewsstandDownloadsKey患亿。 如果要在啟動(dòng)時(shí),做出一些區(qū)分押逼,那就需要在下面的代碼做處理步藕。 比如:應(yīng)用可以被某個(gè)其它應(yīng)用調(diào)起(作為該應(yīng)用的子應(yīng)用),要實(shí)現(xiàn)單點(diǎn)登錄挑格,那就需要在啟動(dòng)代碼的地方做出合理的驗(yàn)證咙冗,并跳過(guò)登錄。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
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)
{
}
}