欢迎使用CSDN-markdown编辑器

来源:互联网 发布:梯度下降算法 matlab 编辑:程序博客网 时间:2024/06/08 06:26

获取设备上的一些信息

  • 获取电池电量(一般用百分数表示,大家自行处理就好)
-(CGFloat)getBatteryQuantity{        return [[UIDevice currentDevice] batteryLevel];}
  • 获取电池状态(UIDeviceBatteryState为枚举类型)
-(UIDeviceBatteryState)getBatteryStauts{        return [UIDevice currentDevice].batteryState;}
  • 获取总内存大小
-(long long)getTotalMemorySize{        return [NSProcessInfo processInfo].physicalMemory;}
  • 获取当前可用内存
-(long long)getAvailableMemorySize{    vm_statistics_data_t vmStats;    mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;    kern_return_t kernReturn = host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmStats, &infoCount);    if (kernReturn != KERN_SUCCESS)    {        return NSNotFound;    }    return ((vm_page_size * vmStats.free_count + vm_page_size * vmStats.inactive_count));}
  • 获取已使用内存
- (double)getUsedMemory{  task_basic_info_data_t taskInfo;  mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;  kern_return_t kernReturn = task_info(mach_task_self(),                                        TASK_BASIC_INFO, (task_info_t)&taskInfo,                                        &infoCount);  if (kernReturn != KERN_SUCCESS      ) {    return NSNotFound;  }  return taskInfo.resident_size;}
  • 获取总磁盘容量
include -(long long)getTotalDiskSize{    struct statfs buf;    unsigned long long freeSpace = -1;    if (statfs("/var", &buf) >= 0)    {        freeSpace = (unsigned long long)(buf.f_bsize * buf.f_blocks);    }    return freeSpace;}
  • 获取可用磁盘容量
-(long long)getAvailableDiskSize{    struct statfs buf;    unsigned long long freeSpace = -1;    if (statfs("/var", &buf) >= 0)    {        freeSpace = (unsigned long long)(buf.f_bsize * buf.f_bavail);    }    return freeSpace;}
  • 容量转换
-(NSString )fileSizeToString:(unsigned long long)fileSize{    NSInteger KB = 1024;    NSInteger MB = KB*KB;    NSInteger GB = MB*KB;    if (fileSize 

import 和#import

 - (NSString *)deviceIPAdress {    NSString *address = @"an error occurred when obtaining ip address";    struct ifaddrs *interfaces = NULL;    struct ifaddrs *temp_addr = NULL;    int success = 0;    success = getifaddrs(&interfaces);    if (success == 0) { // 0 表示获取成功        temp_addr = interfaces;        while (temp_addr != NULL) {            if( temp_addr->ifa_addr->sa_family == AF_INET) {                // Check if interface is en0 which is the wifi connection on the iPhone                if ([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {                    // Get NSString from C String                    address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];                }            }            temp_addr = temp_addr->ifa_next;        }    }    freeifaddrs(interfaces);    return address;}
  • 当前手机连接的WIFI名称(SSID)
    需要#import
- (NSString *)getWifiName{    NSString *wifiName = nil;    CFArrayRef wifiInterfaces = CNCopySupportedInterfaces();    if (!wifiInterfaces) {        return nil;    }    NSArray *interfaces = (__bridge NSArray *)wifiInterfaces;    for (NSString *interfaceName in interfaces) {        CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));        if (dictRef) {            NSDictionary *networkInfo = (__bridge NSDictionary *)dictRef;            wifiName = [networkInfo objectForKey:(__bridge NSString *)kCNNetworkInfoKeySSID];            CFRelease(dictRef);        }    }    CFRelease(wifiInterfaces);    return wifiName;}
0 0
原创粉丝点击