//设备名称 return [UIDevice currentDevice].name; //设备型号,只可获得是何设备,没法获得是第几代设备 return [UIDevice currentDevice].model; //系统版本型号,如iPhone OS return [UIDevice currentDevice].systemVersion; //系统版本名称,如6.1.3 return [UIDevice currentDevice].systemName;
//判断是否为iPhone #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) //判断是否为iPad #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //判断是否为ipod #define IS_IPOD ([[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"]) //判断是否为iPhone5 #define IS_IPHONE_5_SCREEN [[UIScreen mainScreen] bounds].size.height >= 568.0f && [[UIScreen mainScreen] bounds].size.height < 1024.0f
一、导入SystemConfiguration.framework,并#import<SystemConfiguration/SCNetworkReachability.h>ios
二、判断设备是否联网网络
+ (BOOL)connectedToNetwork{ //建立零地址,0.0.0.0的地址表示查询本机的网络链接状态 struct sockaddr_storage zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.ss_len = sizeof(zeroAddress); zeroAddress.ss_family = AF_INET; // Recover reachability flags SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); SCNetworkReachabilityFlags flags; //得到链接的标志 BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); CFRelease(defaultRouteReachability); //若是不能获取链接标志,则不能链接网络,直接返回 if (!didRetrieveFlags) { return NO; } //根据得到的链接标志进行判断 BOOL isReachable = flags & kSCNetworkFlagsReachable; BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired; return (isReachable&&!needsConnection) ? YES : NO; }
PS:若是设备已经插上,可是XCode不显示当前设备,仍为iOS Device的状态,以下图所示ui
解决步骤spa
1.点击XCode右上角的Organizer->Devices,看本身的设备是否为绿灯状态,若是为黄灯或是没有灯,说明设备未链接好,请从新再插一次.net
2.若是设备已经链接好,可是仍是不显示,则说明是系统版本不匹配,若是设备是ios5的系统,则XCode的iOS Deployment Target 必须是5.0或以上,XCode才可分辨此设备code
选中TARGETS->Summary-Deployment Target 修改iOS版本号(假设设为6.1)orm
若是仍是不识别,在PROJECT->Info->iOS Deployment Target下将版本号也修改成6.1ip