gpt4 book ai didi

ios - 在 iOS/Swift 中获取系统正常运行时间

转载 作者:可可西里 更新时间:2023-10-31 23:53:09 27 4
gpt4 key购买 nike

有没有办法在 iOS 中获得系统正常运行时间(使用 Swift)?我需要的是测量时间而不必担心用户更改时间。在 Android 中有一个 elapsedCurrentTimeMillis() 返回自启动后的毫秒数,但现在我需要类似的东西用于 iOS。这里有一个公认的答案 Getting iOS system uptime, that doesn't pause when asleep但那是针对 Objective C 的,我需要它用于 Swift,但我不知道如何转换它。

最佳答案

当您要求纯 Swift 解决方案时,我从您提到的答案中转换了 ObjC 代码 Getting iOS system uptime, that doesn't pause when asleep .

func uptime() -> time_t {
var boottime = timeval()
var mib: [Int32] = [CTL_KERN, KERN_BOOTTIME]
var size = strideof(timeval)

var now = time_t()
var uptime: time_t = -1

time(&now)
if (sysctl(&mib, 2, &boottime, &size, nil, 0) != -1 && boottime.tv_sec != 0) {
uptime = now - boottime.tv_sec
}
return uptime
}

// print(uptime())

为了让它更漂亮,我们可以使用 sysctlbyname 代替 sysctl:

// var mib: [Int32] = [CTL_KERN, KERN_BOOTTIME]
sysctlbyname("kern.boottime", &boottime, &size, nil, 0)

关于ios - 在 iOS/Swift 中获取系统正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203662/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com