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];


    兴许更新...


  • 相关阅读:
    问题大全
    redis学习笔记-03:redis安装
    redis学习笔记-02:为什么使用NoSQL数据库
    redis学习笔记-01:redis简介
    docker学习笔记-05:Docker安装mysql和redis
    docker学习笔记-06:自定义DockerFile生成镜像
    docker学习笔记-05:DockerFile解析
    全栈之路-杂篇-JPA多对多配置分析
    全栈之路-小程序API-JWT令牌详细剖析与使用
    全栈之路-小程序API-Json数据类型的序列化与反序列化
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4052612.html
Copyright © 2011-2022 走看看