zoukankan      html  css  js  c++  java
  • IOS总结_IOS经常使用的方法集合、调用系统电话、设备区分、APP内永不锁屏

    调用系统打电话的功能

    打电话功能仅仅有iPhone支持,对于其它设备相应button应该禁用。

    //直接调用系统电话呼叫功能,挂断电话后不能回到应用程序

    [UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"];   


    //调用系统电话呼叫功能前要给出提示,挂断电话后能回到应用程序

    [UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://8004664411"];   


    //同理,也能够调用系统的地图,短信等功能

    openURL能帮助你执行Maps,SMS,Browser,Phone甚至其它的应用程序。这是Iphone开发中我常常须要用到的一段代码,它只唯独一行而已。


    区分设备类型的方法

    //推断是iPhone还是iPad
     用[UIDevice currentDevice].model,这个返回的是一个NSString,你能够做例如以下推断就能知道设备是iPad还是iPhone.

    if ([UIDevice currentDevice].model rangeOfString:@"iPad"].location != NSNotFound) 

         NSLog(@"This is an iPad!"); 


    用UI_USER_INTERFACE_IDIOM()方法,这是系统定义的一条宏。用法也非常easy。

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 

         NSLog(@"This is an iPad!"); 


    推断设备类型和型号

    - (NSString*) doDevicePlatform
    {
        size_t size;
        int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);
        char *machine = (char *)malloc(size);
        nR = sysctlbyname("hw.machine", machine, &size, NULL, 0);
        NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
        free(machine);
        
        if ([platform isEqualToString:@"iPhone1,1"]) {
            
            platform = @"iPhone";
            
        } else if ([platform isEqualToString:@"iPhone1,2"]) {
            
            platform = @"iPhone 3G";
            
        } else if ([platform isEqualToString:@"iPhone2,1"]) {
            
            platform = @"iPhone 3GS";
            
        } else if ([platform isEqualToString:@"iPhone3,1"]||[platform isEqualToString:@"iPhone3,2"]||[platform isEqualToString:@"iPhone3,3"]) {
            
            platform = @"iPhone 4";
            
        } else if ([platform isEqualToString:@"iPhone4,1"]) {
            
            platform = @"iPhone 4S";
            
        } else if ([platform isEqualToString:@"iPhone5,1"]||[platform isEqualToString:@"iPhone5,2"]) {
            
            platform = @"iPhone 5";
            
        }else if ([platform isEqualToString:@"iPhone5,3"]||[platform isEqualToString:@"iPhone5,4"]) {
            
            platform = @"iPhone 5C";
            
        }else if ([platform isEqualToString:@"iPhone6,2"]||[platform isEqualToString:@"iPhone6,1"]) {
            
            platform = @"iPhone 5S";
            
        }else if ([platform isEqualToString:@"iPod4,1"]) {
            
            platform = @"iPod touch 4";
            
        }else if ([platform isEqualToString:@"iPod5,1"]) {
            
            platform = @"iPod touch 5";
            
        }else if ([platform isEqualToString:@"iPod3,1"]) {
            
            platform = @"iPod touch 3";
            
        }else if ([platform isEqualToString:@"iPod2,1"]) {
            
            platform = @"iPod touch 2";
            
        }else if ([platform isEqualToString:@"iPod1,1"]) {
            
            platform = @"iPod touch";
            
        } else if ([platform isEqualToString:@"iPad3,2"]||[platform isEqualToString:@"iPad3,1"]) {
            
            platform = @"iPad 3";
            
        } else if ([platform isEqualToString:@"iPad2,2"]||[platform isEqualToString:@"iPad2,1"]||[platform isEqualToString:@"iPad2,3"]||[platform isEqualToString:@"iPad2,4"]) {
            
            platform = @"iPad 2";
            
        }else if ([platform isEqualToString:@"iPad1,1"]) {
            
            platform = @"iPad 1";
            
        }else if ([platform isEqualToString:@"iPad2,5"]||[platform isEqualToString:@"iPad2,6"]||[platform isEqualToString:@"iPad2,7"]) {
            
            platform = @"ipad mini";
            
        } else if ([platform isEqualToString:@"iPad3,3"]||[platform isEqualToString:@"iPad3,4"]||[platform isEqualToString:@"iPad3,5"]||[platform isEqualToString:@"iPad3,6"]) {
            
            platform = @"ipad 3";
            
        }
        
        return platform;
    }


    当设备在执行程序时永不锁屏

    [[UIApplicationsharedApplication]setIdleTimerDisabled:YES];


    兴许更新...


  • 相关阅读:
    递归算法
    linux下如何使用split
    什么是OPTEE-OS
    ubuntu 18.04 64bit如何编译安装内核
    ubuntu 18.04 64bit没有声音如何解决
    如何解决ubuntu报的错误:You must put some 'source' URIs in your sources.list
    linux下如何安装解压工具rar
    如何将一个已有的仓库推送到一个空的新仓库中
    ubuntu 18.04 64bit下如何安装python开发工具jupyter
    ubuntu 18.04 64bit下如何安装python开发工具jupyterhub
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4052612.html
Copyright © 2011-2022 走看看