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


    兴许更新...


  • 相关阅读:
    如何使用ASP.NET2.0的“嵌入的资源”
    多核心计算机运算
    [翻译]注册协议(Register Protocol)
    [翻译]关于“异步可插协议”(About Asynchronous Pluggable Protocols(APPs))
    [ASP.NET]runat="server" causes the problem (< or &lt;)
    [翻译]将应用程序注册为URL协议(Registering an Application to a URL Protocol)
    【C# 转换编码格式】 唉,总是忘记的一个方法。
    在WinForm中借助WebBrowser控件使用 tinymce 总结
    sqlite 资料整理(一)
    sqlite 性能优化
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4052612.html
Copyright © 2020-2023  润新知