您的位置:首页 > 理论基础 > 计算机网络

IOS 判断设备 与 判断网络连接状态

2014-04-14 09:58 375 查看


一、判断设备

01
//设备名称
02
return
[UIDevice
currentDevice].name;
03
04
//设备型号,只可得到是何设备,无法得到是第几代设备
05
return
[UIDevice
currentDevice].model;
06
07
//系统版本型号,如iPhone
OS
08
return
[UIDevice
currentDevice].systemVersion;
09
10
//系统版本名称,如6.1.3
11
return
[UIDevice
currentDevice].systemName;
01
//判断是否为iPhone
02
#define
IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
03
04
//判断是否为iPad
05
#define
IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
06
07
//判断是否为ipod
08
#define
IS_IPOD ([[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"])
09
10
//判断是否为iPhone5
11
#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、判断设备是否联网

view
source

print?

01
+
(
BOOL
)connectedToNetwork{
02
 
03
//创建零地址,0.0.0.0的地址表示查询本机的网络连接状态
04
 
05
struct
sockaddr_storage
zeroAddress;
06
 
07
bzero(&zeroAddress,
sizeof
(zeroAddress));
08
zeroAddress.ss_len
=
sizeof
(zeroAddress);
09
zeroAddress.ss_family
= AF_INET;
10
 
11
//
Recover reachability flags
12
SCNetworkReachabilityRef
defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (
struct
sockaddr
*)&zeroAddress);
13
SCNetworkReachabilityFlags
flags;
14
 
15
//获得连接的标志
16
BOOL
didRetrieveFlags
= SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
17
CFRelease(defaultRouteReachability);
18
 
19
//如果不能获取连接标志,则不能连接网络,直接返回
20
if
(!didRetrieveFlags)
21
{
22
return
NO;
23
}
24
//根据获得的连接标志进行判断
25
26
BOOL
isReachable
= flags & kSCNetworkFlagsReachable;
27
BOOL
needsConnection
= flags & kSCNetworkFlagsConnectionRequired;
28
return
(isReachable&&!needsConnection)
? YES : NO;
29
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: