目录[-]

一、判断设备

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

XCode4.5.6,iOS6.1下测试 判断当前设备,及其联网状态等; 关于设备插上后XCode检测不出的情况的说明的更多相关文章

  1. [转贴] C++ 判断主机是否处于联网状态下

    直接让本机访问一个网站,如果成功的话,就说明成功联网,没有访问成功,则说明没有联网!!! #include<iostream> #include <WINSOCK2.H> #p ...

  2. [原]Redis主从复制各种环境下测试

    Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...

  3. 2017-2018-1 20155214 《信息安全系统设计基础》 第9周课下测试-mypwd

    2017-2018-1 20155214 <信息安全系统设计基础> 第9周课下测试-mypwd(深入版) 题目要求: 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; ...

  4. # 课下测试ch02

    课下测试ch02 1.假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位.下面正确的是(AD) A . 3.5的表示是[01011] B . -1.0的表示[01111] ...

  5. [转]在linux下如何判断是否已经安装某个软件?软件安装在哪个目录

    <1>在linux下如何判断是否已经安装某个软件? ++++++++++++++++++++++++++++++++++++++++++ rpm -qa|grep 软件包 ++++++++ ...

  6. MVC下判断用户登录和授权状态方法

    MVC下判断用户登录和授权状态方法 在我们日常开发的绝大多数系统中,都涉及到管理用户的登录和授权问题.登录功能(Authentication),针对于所有用户都开放:而授权(Authorization ...

  7. linux下测试磁盘的读写IO速度-简易方法

    linux下测试磁盘的读写IO速度-简易方法 参考资料:https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是用 ...

  8. Python中生成器和迭代器的区别(代码在Python3.5下测试):

    https://blog.csdn.net/u014745194/article/details/70176117 Python中生成器和迭代器的区别(代码在Python3.5下测试):Num01–& ...

  9. [转]IOS下如何判断机器是否越狱

    转自: http://blog.csdn.net/kaizi318/article/details/9135385 关于判断iPhone是否是jailbreak机器,可参考如下代码: static c ...

随机推荐

  1. RedHat/Centos修改root密码

    Linux主机忘记密码,只要你能接触物理主机都可以修改root密码的!   Redhat6.x 5.x  / Centos6.x  5.x 01.开机-空格/enter 02.e-编辑模式 CentO ...

  2. RGW 负载均衡和高可用的几个方案对比

    注:在RGW网关主机网卡已经是10Gb的情况下,如下三个方案没有引入LVS:如果RGW是Gb网卡,可以考虑引入LVS做流量负载均衡. RGW部署采用 fastcgi+nginx 扩展性和可配置性更强. ...

  3. maven 生成可执行的jar文件

    微服务的热潮,慢慢讲jar引入了码农的视线之中,从传统web开发中过来的人面对这个东西也算是个新鲜事了,接下来聊一聊在maven下生成可运行jar的那些事. Maven可以使用mvn package指 ...

  4. php面向对象编程(二)

    现在我们来了解一下面向对象的一个封装性的问题 封装性:在我的理解里面 可以理解为一个u盘 我们使用u盘的接口与电脑进行数据之间的交互 但是我们不能看到里面的结构 这个特性我们可以称为封装性 好处:利用 ...

  5. Mysql如何创建短索引(前缀索引)

    Mysql如何创建短索引 为什么要用短索引 有时需要索引很长的字符列,它会使索引变大并且变慢.一个策略就是模拟哈希索引.但是有时这也不够好,那么应该怎么办呢?通常可以索引开始的几个字符,而不是全部值, ...

  6. Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibr

    网上找了一大堆,没有解决的办法 ,主要是iOS10的适配问题,info.plist里没有加对. 访问相册,我只加了 <!-- 相册 --> <key>NSPhotoLibrar ...

  7. Solr学习总结(一)Solr介绍

       最近一直在搞Solr的问题,研究Solr 的优化,搜索引擎的bug修改等,这几天终于有时间,闲下来总结分享,以便大家参考,与大家一起来共同学习. Solr是一个基于Lucene的全文搜索引擎,同 ...

  8. Python之路【第十九篇】自定义分页实现(模块化)

    自定义分页 1.目的&环境准备 目的把分页写成一个模块的方式然后在需要分页的地方直接调用模块就行了. 环境准备Django中生成一个APP并且注册,配置URL&Views 配置URL ...

  9. 【转】ASP.NET MVC学习笔记-Controller的ActionResult

    1. 返回ViewResult public ActionResult Index()   {       ViewData["Message"] = "Welcome ...

  10. redis3.2 最新版本启动配置文件redis.conf详细说明

    Redis.conf文件内容详细说明: # 默认redis不是以后台进程的方式启动,如果需要在后台运行,需要将这个值设置成yes # 以后台方式启动的时候,redis会写入默认的进程文件/var/ru ...