调用系统打电话的功能

打电话功能仅仅有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];

兴许更新...

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

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

    首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如 ...

  2. ios openURL的使用(调用系统电话、浏览器、地图、邮件等)

    Safari Any URL starting with http:// which does not point to maps.google.com or www.youtube.com is s ...

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

    - (IBAction)openMaps { //打开地图 NSString*addressText = @"beijing"; //@"1Infinite Loop, ...

  4. Delphi IOS 蓝牙锁屏后台运行

    Delphi IOS 后台运行 同样的程序,编译成android,锁屏后继续运行正常,蓝牙通讯正常,但在IOS下锁屏后程序的蓝牙就中断通讯了? IOS的机制就是这样,锁屏就关闭了. 音乐播放器是怎么做 ...

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

    Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想 ...

  6. [转载] IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合

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

  7. iOS——浅谈iOS中三种生成随机数方法

    ios 有如下三种随机数方法:

  8. iOS-浅谈iOS中三种生成随机数方法

    ios 有如下三种随机数方法:

  9. iOS开发 GET、POST请求方法(NSURLSession篇)

    NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...

随机推荐

  1. windows phone 页面导航(6)

    原文:windows phone 页面导航(6) 页面导航的例子我们使用的是两个页面,从第一个页面(MainPage)导航到第二个页面(SecondPage),然后可以从第二个页面导航到第一个页面 , ...

  2. macbook连接linuxserver后不显示matlab桌面[问题]

    macbook 登录远程linuxserver.Macbook今天,系统版本号10.9.4.这是更新,打开matlab当提醒x11不存在.一个接着安装Xquarz2.7.6. matlab它可以在本地 ...

  3. hihocoder第42周 k*N骨牌覆盖(状态dp+矩阵快速幂)

    上周的3*N的骨牌,因为状态只有8中,所以我们可以手算出状态转移的矩阵 但是这周是k*N,状态矩阵不好手算,都是我们改成用程序自动生成一个状态转移的矩阵就行了,然后用这个矩阵进行快速幂即可 枚举枚举上 ...

  4. 聊聊并发(六)——ConcurrentLinkedQueue的实现原理分析

    1. 引言 在并发编程中我们有时候需要使用线程安全的队列.如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同一把 ...

  5. 在Linux上安装Hadoop

    先决条件: Hadoop是用JAVA写的,所以首先要安装Java.在Ubuntu上安装JDK见:http://blog.csdn.net/microfhu/article/details/766739 ...

  6. 设计师给了px显着的单位,Android要设置多少开发商dip、dp、sp?

    此链接    http://blog.csdn.net/xiaodongrush/article/details/29560431 1. 要开发一款Android APP,设计师和开发要约定哪些事情? ...

  7. Android学习路径(十)如何将Action Bar堆放在布局

    默认情况下,action bar出如今activity窗体的顶部,稍微降低了activity布局的总空间.假设你想隐藏或者显示action bar,在这堂用户体验的课程中,你能够通过调用hide()  ...

  8. android 他们定义对话框

    创建一个布局文件 my_dialog.xml <?xml version="1.0" encoding="utf-8"?> <Relative ...

  9. 基于Tkinter利用python实现颜色空间转换程序

    主要基于colorsys实现,例子是从hls转换到rgb,假设要换颜色空间非常easy仅仅须要改动一个函数 用到了Scale和Canvas组件 代码例如以下: from Tkinter import ...

  10. [LeetCode101]Symmetric Tree

    题目: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). F ...