我想在screentime可以定时停止我的应用时调用screen time setting。
。我的应用程序是设备之间数据传输的一种形式,但可能在某些方面受到限制,例如屏幕时间。怪不得。如果发生这种情况,应用程序必须停止,我们希望告诉用户它停止的原因。基本上,我可以确认屏幕时间是停止应用程序,所以在这种情况下,我希望从我的应用程序打开iOS设置屏幕的屏幕时间,并检查内容。但是,我无法在iOS设置中找到调用Screetime的方法。你有什么好主意吗?
发布于 2019-04-28 20:09:30
如果您只是想在一段时间结束后停止应用程序,我可以建议使用计时器
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
希望这能对某些人有所帮助。
https://stackoverflow.com/questions/55889796
复制相似问题