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


    目录[-]

    一、判断设备

    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

  • 相关阅读:
    Redis和Lombok的下载安装
    (五)模仿学习完成后台管理页面删除
    (六)模仿学习后台管理页面添加
    模拟学习动漫论坛合集
    (八)模仿学习展现可视化大屏
    基于C/S 结构的IM即时通讯软件下篇
    排序算法之基排
    qt学习001之运行对话框
    每日一练之大整数加法(P1255 数楼梯)
    每日算法之递推排序(P1866 编号)
  • 原文地址:https://www.cnblogs.com/mcj-coding/p/3835192.html
Copyright © 2020-2023  润新知