最近項目要加上一個手勢解鎖,然而手機解鎖的邏輯十分混亂,需要與應用程序啟動、應用前后臺切換執行的delegate 方法分析清楚!
1.起初需求:要在程序第一次啟動時,就需要設置解鎖手勢,于是在代理方法
- (void)applicationDidBecomeActive:(UIApplication *)application中寫了相關判斷方法;
2.需求改變:要在用戶有需求時設置手勢解鎖;于是在代理方法
- (void)applicationWillEnterForeground:(UIApplication *)application中卸了相關判斷方法。
3.在此過程中,仔細琢磨了 Appdelegate 中代理方法在前后臺切換中的執行
首次運行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationDidBecomeActive:(UIApplication *)application
首次關閉(home):
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
再次運行:
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
再次關閉:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
除此之外,再附上兩個使用過的比較好的手勢解鎖框架-----LLLockView 和 CoreLock
非常感謝兩位人員,為我們提供了如此強大的開源框架!