iOS----获取系统启动时间和App安装(更新)时间
Posted 普通网友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS----获取系统启动时间和App安装(更新)时间相关的知识,希望对你有一定的参考价值。
2020年发生了很多事情,是多灾多难的一年
想了一下,今年的最后一篇博客还是写给ios吧,毕竟是我开始工作赚钱学会的第一份技能
2020年的最后一天,跟时间有关,所以写一篇关于时间的博客提醒一下自己,第一批90后已经30岁了。。。
获取系统的启动时间,原理很简单,就是获取kernel_task的启动时间,kernel_task大家都知道,系统主进程,系统挂了他也挂,系统起了他也起,所以获取kernel_task的启动时间就相当于获取到了系统的启动时间。
#include <sys/sysctl.h>
+ (void)boots
struct timeval boottime;
int mib[2] = CTL_KERN, KERN_BOOTTIME;
size_t size = sizeof(boottime);
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 && boottime.tv_sec != 0)
NSLog(@"%@", [NSNumber numberWithLong:boottime.tv_sec]);
获取App安装、更新时间,方法也很取巧,就是查看info.plist的创建时间,每次更新App的时候info.plist会重新创建,因此可以作为获取App安装时间的绝佳方式。
+ (NSNumber *)appUpdateTime
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:bundlePath error:nil];
NSDate *date = [fileAttributes objectForKey:NSFileCreationDate];
return [NSNumber numberWithDouble:date.timeIntervalSince1970];
与50位技术专家面对面
20年技术见证,附赠技术全景图
以上是关于iOS----获取系统启动时间和App安装(更新)时间的主要内容,如果未能解决你的问题,请参考以下文章