iOS代码技巧之判断设备及状态
来源:互联网 发布:数据质量管理制度 编辑:程序博客网 时间:2024/05/17 08:34
转自:http://my.oschina.net/joanfen/blog/149076
一、判断设备
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、判断设备是否联网
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
}
三、设备不显示的解决办法
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
0 0
- iOS代码技巧之判断设备及状态
- iOS代码技巧之判断设备及状态
- iOS代码技巧之判断设备及状态
- iOS代码技巧之判断设备及状态
- IOS代码判断设备类型
- IOS代码判断设备类型
- ios 检查设备距离与电池状态及判断是否是Retina显示屏
- iOS小技巧 - 判断设备版本
- IOS 判断设备 与 判断网络连接状态
- iOS设备是否越狱的判断代码
- iOS设备是否越狱的判断代码
- iOS设备是否越狱的判断代码
- iOS设备是否越狱的判断代码
- iOS 设备判断 最新统计代码
- iOS设备是否越狱的判断代码
- iOS设备是否越狱的判断代码
- iOS设备是否越狱的判断代码
- iOS 设备是否越狱的判断代码
- tmux的使用方法和个性化配置
- ArcInfo实现数据同步复制【二】子到父同步
- 最小生成树算法——Kruskal
- 自动跳转文本
- 详解C/C++预处理器
- iOS代码技巧之判断设备及状态
- jQuery Mobile
- 全志A10 buildroot 编译Qt 出现的问题
- 自做算法导论第一章练习题
- wince SAPI 学习2
- Jquery 将表单序列化为Json对象.同时提交多个表单的参数
- FORM执行查询的各种方法
- Hibernate检索策略与检索方式
- 【转载于百度空间】C# WinForm中的BackgroundWorker控件的使用方法