iOS App Launch Option
2019獨角獸企業重金招聘Python工程師標準>>>
iOS 程序啟動時總會調用application:didFinishLaunchingWithOptions:,其中第二個參數launchOptions為NSDictionary類型的對象,里面存儲有此程序啟動的原因。
launchOptions中的可能鍵值見UIApplication Class Reference的Launch Options Keys節 。
若用戶直接啟動,lauchOptions內無數據;
若由其他應用程序通過openURL:啟動,則UIApplicationLaunchOptionsURLKey對應的對象為啟動URL(NSURL),UIApplicationLaunchOptionsSourceApplicationKey對應啟動的源應用程序的bundle ID (NSString);
若由本地通知啟動,則UIApplicationLaunchOptionsLocalNotificationKey對應的是為啟動應用程序的的本地通知對象(UILocalNotification);
若由遠程通知啟動,則UIApplicationLaunchOptionsRemoteNotificationKey對應的是啟動應用程序的的遠程通知信息userInfo(NSDictionary);
其他key還有UIApplicationLaunchOptionsAnnotationKey,UIApplicationLaunchOptionsLocationKey,
UIApplicationLaunchOptionsNewsstandDownloadsKey。
如果要在啟動時,做出一些區分,那就需要在下面的代碼做處理。
比如:您的應用可以被某個其它應用調起(作為該應用的子應用),要實現單點登錄,那就需要在啟動代碼的地方做出合理的驗證,并跳過登錄。
-?(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)
????{
????}
}
轉載于:https://my.oschina.net/michael1986/blog/290946
總結
以上是生活随笔為你收集整理的iOS App Launch Option的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql SQL Mode详解
- 下一篇: JQUERY获取当前页面的URL信息