Get the boot time in objective c

前端 未结 2 943
时光说笑
时光说笑 2020-12-30 18:59

how can i get the boot time of ios in objective c ?

Is there a way to get it?

2条回答
  •  旧巷少年郎
    2020-12-30 19:31

    Don't know if this will work in iOS, but in OS X (which is essentially the same OS) you would use sysctl(). This is how the OS X Unix utility uptime does it. Source code is available - search for "boottime".

    #include 
    #include   
    
    // ....  
    
    #define MIB_SIZE 2  
    
    int mib[MIB_SIZE];
    size_t size;
    struct timeval  boottime;
    
    mib[0] = CTL_KERN;
    mib[1] = KERN_BOOTTIME;
    size = sizeof(boottime);
    if (sysctl(mib, MIB_SIZE, &boottime, &size, NULL, 0) != -1)
    {
        // successful call
        NSDate* bootDate = [NSDate dateWithTimeIntervalSince1970:boottime.tv_sec];
    }
    

    The restricted nature of programming in the iOS sandboxed environment might make it not work, I don't know, I haven't tried it.

提交回复
热议问题