如何使用Swift检测锁定/解锁的iOS设备(如Android中的SCRENON / SCREENOFF)
我使用以下来创建相同的想法.
您需要使用桥接器将目标c代码用于swift.
Here is the Link for create the bridge between the Objective c to Swift.
完成后,您可以将以下.h文件添加到您的项目 – 桥接 – 标题中.文件添加yourcontroller.h
然后将NotificationCenter.framework添加到项目中.
进入你的CustomObject.m
#import "notify.h" -(void)registerAppforDetectLockState { int notify_token; notify_register_dispatch("com.apple.springboard.lockstate",¬ify_token,dispatch_get_main_queue(),^(int token) { uint64_t state = UINT64_MAX; notify_get_state(token,&state); if(state == 0) { NSLog(@"unlock device"); } else { NSLog(@"lock device"); } NSLog(@"com.apple.springboard.lockstate = %llu",state); UILocalNotification *notification = [[UILocalNotification alloc]init]; notification.repeatInterval = NSCalendarUnitDay; [notification setAlertBody:@"Hello world!! I come becoz you lock/unlock your device :)"]; notification.alertAction = @"View"; notification.alertAction = @"Yes"; [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; notification.soundName = UILocalNotificationDefaultSoundName; [notification setTimeZone:[NSTimeZone defaultTimeZone]]; [[UIApplication sharedApplication] presentLocalNotificationNow:notification]; }); }
然后CustomObject.h
-(void)registerAppforDetectLockState;
var instanceOfCustomObject: LockViewController = LockViewController() instanceOfCustomObject.registerAppforDetectLockState();
愿这有用了.