gpt4 book ai didi

iphone - iOS/iPhone 上的正常运行时间卡住

转载 作者:可可西里 更新时间:2023-11-01 03:37:40 26 4
gpt4 key购买 nike

有人知道为什么我在使用以下方法时遇到奇怪的正常运行时间吗?

NSProcessInfo *processInfo = [NSProcessInfo processInfo];
NSTimeInterval systemUptime = [processInfo systemUptime];

最初几分钟,一切似乎都很好,但当我在数小时或数天后返回应用程序时,正常运行时间仍然相同:30 分钟,或 1 小时 34 分......它似乎在随机时刻卡住。主要在 iPhone 4 上(很少在模拟器或 iPad 上)

它可能与我展示它的方式有关:

+ (NSTimeInterval)uptime:(NSNumber **)days hours:(NSNumber **)hours mins:(NSNumber **)mins
{
NSProcessInfo *processInfo = [NSProcessInfo processInfo];
//START UPTIME///////
NSTimeInterval systemUptime = [processInfo systemUptime];
// Get the system calendar
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
// Create the NSDates
NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:(0-systemUptime)];
unsigned int unitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *c = [sysCalendar components:unitFlags fromDate:date toDate:[NSDate date] options:0];
//NSString *uptimeString = [NSString stringWithFormat:@"%dd %dh %dmin", [c day],[c hour],[c minute]];
*days = [NSNumber numberWithInt:[c day]];
*hours = [NSNumber numberWithInt:[c hour]];
*mins = [NSNumber numberWithInt:[c minute]];
[date release];
//END UPTIME////////

return systemUptime;
}

在后面的代码中:

NSNumber *uptimeDays, *uptimeHours, *uptimeMins;
[CJGDevice uptime:&uptimeDays hours:&uptimeHours mins:&uptimeMins];
NSString *uptimeString = [NSString stringWithFormat:@"%@d %@h %@min",
[uptimeDays stringValue],
[uptimeHours stringValue],
[uptimeMins stringValue]];

编辑:在 iPad 和 iPhone 上记录了 3 天的结果后,我可以看到这个正常运行时间是错误的,时间运行得太慢,我们等待的时间越长就越明显

最佳答案

这个方法可以解决问题:

- (time_t)uptime
{
struct timeval boottime;
int mib[2] = {CTL_KERN, KERN_BOOTTIME};
size_t size = sizeof(boottime);
time_t now;
time_t uptime = -1;

(void)time(&now);

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

感谢 Alastair Stuart 的 link .

关于iphone - iOS/iPhone 上的正常运行时间卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052206/

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