我想在屏幕时间可以按计划停止我的应用时调用屏幕时间设置。
。我的应用是设备之间数据传输的一种形式,但可能会受到某种限制,例如屏幕时间。这就是为什么。如果发生这种情况,该应用程序必须停止,我们想告诉用户为什么停止。基本上,我可以确认屏幕时间是要停止应用程序,因此在这种情况下,我想从我的应用程序中打开iOS设置屏幕的屏幕时间,然后检查内容。但是,我找不到在iOS设置中调用Screetime的方法。你有个好主意吗?
答案 0 :(得分:0)
如果您只是想在一段时间间隔后停止应用程序,我可以建议使用Timer
var timer: Timer!
然后您可以创建该计时器,并告诉它在1小时(3600秒)后执行,如下所示:
timer = Timer.scheduledTimer(timeInterval: 3600, target: self, selector: #selector(runTimedCodeToCloseApp), userInfo: nil, repeats: false)
runTimedCodeToCloseApp
选择器意味着计时器将在一个小时后调用名为runTimedCodeToCloseApp()
的方法,因此您需要用您要调用的方法替换该方法名称-别忘了用@objc
进行标记。
重要说明:因为您的对象具有存储计时器的属性,并且计时器在该对象上调用方法,所以您具有强大的引用周期,这意味着无法释放任何对象。要解决此问题,请确保在使用完计时器后(在调用方法runTimedCodeToCloseApp()
时使计时器无效),例如在视图即将消失时:
timer.invalidate()
如果您想让计时器每隔一小时执行一次方法,请将repeats: false
更改为repeats: true
希望对某人有帮助。