zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Shared Memory in Windows NT
    Layered Memory Management in Win32
    软件项目管理的75条建议
    Load pdbs when you need it
    Stray pointer 野指针
    About the Rebase and Bind operation in the production of software
    About "Serious Error: No RTTI Data"
    Realizing 4 GB of Address Space[MSDN]
    [bbk4397] 第1集 第一章 AMS介绍
    [bbk3204] 第67集 Chapter 17Monitoring and Detecting Lock Contention(00)
  • 原文地址:https://www.cnblogs.com/mcj-coding/p/3835192.html
Copyright © 2011-2022 走看看