+ (NSString *)getiphoneType;//设备型号
+ (NSString *)getManufacturer;//厂商
+ (NSString *)getUUID;
+ (NSString *)getScreen;//屏幕分辨率
+ (NSString *)getSSID;
+ (NSString *)getBSSID;
+ (NSString *)getCPU;
+ (NSString *)getSystemName;//系统名称
+ (NSString *)getSystemVersion;//系统版本
+ (NSString *)getLanguage;
+ (NSString *)getNetwork;
#import <UIKit/UIKit.h>
#import <sys/utsname.h>
#import <mach-o/arch.h>
#import <SystemConfiguration/CaptiveNetwork.h>
#import "YF_Pay_Reachability.h"
@implementation YF_External_MaHuan_DeviceModel
+ (NSString *)getiphoneType
{
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
return platform;
}
+ (NSString *)getManufacturer
{
return @"apple";
}
+ (NSString *)getUUID
{
return [[UIDevice currentDevice].identifierForVendor UUIDString];
}
+ (NSString *)getScreen
{
CGRect rect = [[UIScreen mainScreen] bounds];
NSInteger width = (NSInteger)rect.size.width;
NSInteger height = (NSInteger)rect.size.height;
NSInteger scale = (NSInteger)[UIScreen mainScreen].scale;
return [NSString stringWithFormat:@"%ld*%ld",width*scale,height*scale];
}
+ (NSString *)getSSID
{
NSString *ssid = @"NotFound";
CFArrayRef array = CNCopySupportedInterfaces();
if (array != nil)
{
CFDictionaryRef dict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(array, 0));
if (dict != nil)
{
NSDictionary *dic = (NSDictionary *)CFBridgingRelease(dict);
ssid = [dic valueForKey:@"SSID"];
}
}
return ssid;
}
+ (NSString *)getBSSID
{
NSString *bssid = @"NotFound";
CFArrayRef array = CNCopySupportedInterfaces();
if (array != nil)
{
CFDictionaryRef dict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(array, 0));
if (dict != nil)
{
NSDictionary *dic = (NSDictionary *)CFBridgingRelease(dict);
bssid = [dic valueForKey:@"BSSID"];
}
}
return bssid;
}
+ (NSString *)getCPU
{
const NXArchInfo *info = NXGetLocalArchInfo();
return [NSString stringWithCString:info->description encoding:kCFStringEncodingUTF8];
}
+ (NSString *)getSystemName
{
return @"iOS";
}
+ (NSString *)getSystemVersion
{
return [[UIDevice currentDevice] systemVersion];
}
+ (NSString *)getLanguage
{
NSArray *array = [NSLocale preferredLanguages];
return [array objectAtIndex:0];
}
+ (NSString *)getNetwork
{
NSString *result=nil;
YF_Pay_Reachability * reachability = [YF_Pay_Reachability reachabilityForInternetConnection];
NetworkStatus status = [reachability currentReachabilityStatus];
switch (status)
{
case NotReachable:
result = @"No Network";
break;
case ReachableVia4G:
result = @"4G";
break;
case ReachableViaWiFi:
result = @"WiFi";
break;
case ReachableVia3G:
result = @"3G";
break;
case ReachableVia2G:
result = @"2G";
break;
}
return result;
}