幾個方法
application:didFinishLaunchingWithOptions:
applicationWillResignActive:
applicationDidBecomeActive:
applicationWillEnterBackground:
applicationWillEnterForeground:
applicationDidReceiveMemoryWarning:
1application:didFinishLaunchingWithOptions
UIApplication 被執行個體化後第一個觸發的協定方法。這貨主要的任務,就是建立一個 UIWindow,在這貨上面顯示控制器的視圖;
一般在這個方法裡面引入根視圖,初始化一些第三方平台的庫;
一個參數launchOptions是個字典,一般在通知的時候會把通知的參數通過這個字典傳過來,一般在本地推送和遠端推送用到。
2 openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
這個主要是在同過外界程式打開app時,會執行這個方法;
例如app A裡面的按鈕點選打開手機上面的app B 并傳給參數
利用上面的這個方法,appurlxib是app B裡面URL Types ,1111就是想要傳的參數,格式為URL Types://參數,當然參數可以省掉,URL Types:// 就行
接收參數如右圖:
當然從此也可以看出 URL Types的作用 就是這個app的類似外部通路的網址,微信的分享的進入微信和退回應用,用的都是這個道理;
3applicationWillResignActive:
應用從 Active 變為 Inactive 時,觸發該協定方法,一般在将要退到背景執行,比如有電話打來時;
resign 為辭職,active 形象說明現在還處于活躍階段,但是馬上要離開
4applicationDidBecomeActive
應用從 Inactive 變為 Active 時,觸發該協定方法。
已經處于活躍狀态,在背景到前台,頁面已經呈現時執行;
5applicationdidEnterBackground:
應用切換至到背景時,觸發該協定方法。
應該執行上面的willresign active 然後馬上執行這個
6applicationWillEnterForeground:
應用切換至前台時,觸發該協定方法。
先執行這個,然後再執行DidBecomeActive
7applicationDidReceiveMemoryWarning:
裝置記憶體不足時,會觸發該協定方法;程式退到背景是不執行的,程式正常退出也不執行;隻有在記憶體危機時,蘋果為啦保護手機,将kill掉應用
8如果想主動擷取 AppDelegate 怎麼辦?
[[UIApplication sharedApplication] delegate]
9 didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
這個是用于極光推送的注冊,deviceToken為手機的唯一标示符
10 didReceiveLocalNotification:(UILocalNotification *)notification 這是本地通知點選進入執行的方法