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

兴许更新...

时间: 2024-10-17 22:56:00

IOS总结_IOS经常使用的方法集合、调用系统电话、设备区分、APP内永不锁屏的相关文章

iOS 调用系统电话

1,直接调用,结束后不返回自己的应用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]]; 2,使用WebView请求调用系统电话,结束后可以返回自身应用,合法 UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero]; [self.view addSubview:webView]; [webView l

[iOS]为什么不要在init初始化方法里调用self.view

首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如果你init方法里有数组初始化.但是你还没走到那步,而直接就给数组赋值了,那么这个值赋值给了一个不存在的数组.这样就容易出现错误.所以,尽量不要在init方法里写可视化控件的语句. 附1: UIViewController的生命周期: 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1

iOS调用系统电话、浏览器、地图、邮件等

- (IBAction)openMaps { //打开地图 NSString*addressText = @"beijing"; //@"1Infinite Loop, Cupertino, CA 95014"; addressText =[addressText stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; NSString *urlText = [NSString string

Android 禁止屏幕休眠和锁屏的方法

Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想继续看的话还要去解锁,这样好麻烦,不是我们想要 的,那我们该怎么做呢,其实很简单,我这里只讲其中的两种 一 :我们只要在程序中用代码实现.代码如下: [java] view plaincopy //方法一 getWind

iOS 地图源及目的地定位、划线和系统导航的使用

最近在做一些关于地图的使用,才发现以前了解的东西很浅,很多细节上的东西没有弄清楚,在这里我想记录一下.好记性不如烂笔头,何况我这烂记性,就更得需要一个好笔头了.废话就不多说,下面就是我在使用系统地图的思路和代码.新手上路,不另指教! Step1 导入 Mapkit.framework 框架 Step2 引入头文件 #import <MapKit/MapKit.h> //地图框架 #import <CoreLocation/CoreLocation.h> //定位和编码框架 如果只是

IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合

第一.复制对象的基本概念 复制一个对象为副本,开辟一块新的内存来存储副本对象. 第二.如果一个对象想具备复制的功能,必须实现<NSCopying>协议和<NSMutableCopying>协议 NSObject自带的常用的对象有:NSNumber.NSString.NSArray.NSDictionary.NSMutableArray.NSMutableDictionay.NSMutableString,copy产生的对象时不可变的,mutableCopy产生的对象时可变的 第三.

ios使用http来上传图片实现方法

if (parameters) {                int genderNumber = 1;        self.token = loginToken;        self.personPK = kidPK;        self.personName = personNameL;        self.personNickName = nickNameL;        self.gender = genderL;        self.birthday = bi

优化iOS程序性能的25个方法

1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为你管理retain和release的过程,所以你就不必去手动干预了.忘掉代码段结尾的release简直像记得吃饭一样简单.而ARC会自动在底层为你做这些工作.除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存. 现在所有的iOS程序都用ARC了,这条可以忽略. 2. 在

iOS中创建数组的简易方法与手势的使用

其实做外包也是挺不错,虽然累点,但是一天天的知识的扩展不少,下面是今天的收获 ①初始化数组一字典的方法 @[] 初始化不可变数组 @{} 初始化不可变字典 ②手势的使用 iOS中处理手势之前是用四个方法: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touch