NSProcessInfo()。systemUptime是错误的

时间:2015-12-30 07:29:03

标签: ios swift swift2 uptime

我在系统重启后获取NSTimeInterval时遇到问题。这个功能给了我一个错误的结果。当设备的电池充电时,重启时间重新开始。 iPhone 5s和iPad 3(新版)出现问题。我该如何解决?

1 个答案:

答案 0 :(得分:0)

我使用这种方法,它可以帮助我

 public static func uptime() -> (days: Int, hrs: Int, mins: Int, secs: Int) {
            var currentTime = time_t()
            var bootTime    = timeval()
            var mib         = [CTL_KERN, KERN_BOOTTIME]

            // NOTE: Use strideof(), NOT sizeof() to account for data structure
            // alignment (padding)
            // http://stackoverflow.com/a/27640066
            // https://devforums.apple.com/message/1086617#1086617
            var size = strideof(timeval)

            let result = sysctl(&mib, u_int(mib.count), &bootTime, &size, nil, 0)

            if result != 0 {
                #if DEBUG
                    print("ERROR - \(__FILE__):\(__FUNCTION__) - errno = "
                        + "\(result)")
                #endif

                return (0, 0, 0, 0)
            }