ios - idleTimerDisabled 不适用于(自主)单一应用程序模式

标签 ios ios12

我们有一个信息亭应用程序,我们在其中使用 idleTimerDisabled 来防止屏幕在工作时间关闭,并让它在晚上关闭。

我使用在 applicationDidBecomeActive 方法中创建的计时器执行此操作:

self.screenLockTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(setupScreenLock) userInfo:nil repeats:YES];

-

- (void)setupScreenLock {
    NSDate *currentDate = [NSDate date];
    NSDate *closingDate = [[NSCalendar currentCalendar] dateBySettingHour:17 minute:0 second:0 ofDate:currentDate options:0];
    BOOL isOpeningHours = [currentDate compare:closingDate] == NSOrderedAscending;
    [UIApplication sharedApplication].idleTimerDisabled = isOpeningHours;
}

在我们开始使用Autonomous Single App Mode 之前,这曾经工作得很好。现在屏幕不再在晚上关闭。对此有解释(和解决方法)吗?我知道 iOS 12 中存在一个错误,其中 idleTimerDisabled 不再适用于引导访问,但我还没有看到关于单一应用模式的类似问题的报告。

最佳答案

触发 native 操作可能会“解决”问题。我能够使用下面的代码解决我的问题。

尝试使用以下代码:

    [UIApplication sharedApplication].idleTimerDisabled = isOpeningHours;

    // Guided access idle timer fix
    UITextField *textField = [[UITextField alloc] init];
    [self.view addSubview:textField]; // self.view or whatever relevant view is accessible.
    [textField becomeFirstResponder];
    [textField resignFirstResponder];
    [textField removeFromSuperView];

关于ios - idleTimerDisabled 不适用于(自主)单一应用程序模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55813336/

相关文章:

ios - 应用内购买未获得任何产品

ios - UIImageJPEGRepresentation 已被实例方法 UIImage.jpegData(compressionQuality :)

ios - 如何在 iOS 12.0 的 UserDefaults 中保存对象数组。使用任何数组 [[String : Any]]

ios - SceneKit 计量单位

ios - 在没有用户名的情况下对 Parse 使用 PFUser

swift - 在 ARKit 中交换 3D 模型的节点

uikit - 在 iOS 12 中通过确认自动填充新密码

swift - AV 播放器 View Controller 未关闭

ios - 我是否需要最新版本的 Xcode 才能将应用程序提交到应用程序商店?

ios - 如何访问 "cell for row at indexpath"之外的 uitableview 单元格元素