如何使用Swift检查iOS设备是否被锁定/解锁?

如何使用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",&notify_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;

现在进入swift代码,您可以直接使用此方法.

var instanceOfCustomObject: LockViewController = LockViewController()
instanceOfCustomObject.registerappforDetectLockState();

愿这有用了.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...