how can I detect a locked/unlocked iOS device using Swift ( like the SCRENON / SCREENOFF in Android )
I create same think using following.
You need to use the bridge for objective c code use into swift.
Here is the Link for create the bridge between the Objective c to Swift.
Once Completed then you can add following .h file into yourproject-Bridging-Header. file add the yourcontroller.h
Then add NotificationCenter.framework into your project.
Into your 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];
    });
}
Then CustomObject.h
-(void)registerAppforDetectLockState;
Now into swift code you can directly use this method.
var instanceOfCustomObject: LockViewController = LockViewController()
instanceOfCustomObject.registerAppforDetectLockState();
May this helps lot.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With