最近项目要加上一个手势解锁,然而手机解锁的逻辑十分混乱,需要与应用程序启动、应用前后台切换执行的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
非常感谢两位人员,为我们提供了如此强大的开源框架!