目录[-]
一、判断设备
//设备名称
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
二、判断网络连接状态
1、导入SystemConfiguration.framework,并#import<SystemConfiguration/SCNetworkReachability.h>
2、判断设备是否联网
+ (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的状态,如下图所示
解决步骤
1.点击XCode右上角的Organizer->Devices,看自己的设备是否为绿灯状态,如果为黄灯或是没有灯,说明设备未连接好,请重新再插一次
2.如果设备已经连接好,但是还是不显示,则说明是系统版本不匹配,如果设备是ios5的系统,则XCode的iOS Deployment Target 必须是5.0或以上,XCode才可分辨此设备
选中TARGETS->Summary-Deployment Target 修改iOS版本号(假设设为6.1)
如果还是不识别,在PROJECT->Info->iOS Deployment Target下将版本号也修改为6.1
使用
if
区分目前UI_USER_INTERFACE_IDIOM()有2个返回值
UI_USER_INTERFACE_IDIOM() ==
UI_USER_INTERFACE_IDIOM() ==
使用
- (NSString
{
}
在添加一些收集到的
//iPhone
//iPod Touch
//iPad
//Simulator
转载的没有那么多个机型逐个实验.所以不敢保证都正确.