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];
兴许更新...
IOS总结_IOS经常使用的方法集合、调用系统电话、设备区分、APP内永不锁屏的更多相关文章
- [iOS]为什么不要在init初始化方法里调用self.view
首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如 ...
- ios openURL的使用(调用系统电话、浏览器、地图、邮件等)
Safari Any URL starting with http:// which does not point to maps.google.com or www.youtube.com is s ...
- iOS调用系统电话、浏览器、地图、邮件等
- (IBAction)openMaps { //打开地图 NSString*addressText = @"beijing"; //@"1Infinite Loop, ...
- Delphi IOS 蓝牙锁屏后台运行
Delphi IOS 后台运行 同样的程序,编译成android,锁屏后继续运行正常,蓝牙通讯正常,但在IOS下锁屏后程序的蓝牙就中断通讯了? IOS的机制就是这样,锁屏就关闭了. 音乐播放器是怎么做 ...
- Android 禁止屏幕休眠和锁屏的方法
Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想 ...
- [转载] IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合
IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合
- iOS——浅谈iOS中三种生成随机数方法
ios 有如下三种随机数方法:
- iOS-浅谈iOS中三种生成随机数方法
ios 有如下三种随机数方法:
- iOS开发 GET、POST请求方法(NSURLSession篇)
NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...
随机推荐
- Android 照相功能
使用内置的Camera 应用程序捕获图像 探索Android 所提供的内置功能,内置的图像捕获与存储功能为Android 上全部媒体功能提供了一个非常好的切入点,为我们在以后的章 ...
- linux设备驱动程序第四部分:从如何定位oops对代码的调试方法,驱动线
在一个我们谈到了如何编写一个简单的字符设备驱动程序,我们不是神,编写肯定会失败的代码,在这个过程中,我们需要继续写代码调试.在普通c应用.我们经常使用printf输出信息.或者使用gdb要调试程序,然 ...
- C# 32位程序访问64位系统注册表
原文:C# 32位程序访问64位系统注册表 我的上一篇文章已经阐述了“32位程序和64位程序在64位平台上读\写注册表的区别”,那么接下来将要回答上篇所留下来的一个问题:32位程序如何访问64位系统注 ...
- 【译】手动处理Team Foundation Server 2010 数据仓库和分析服务数据库
原贴地址:Manually Processing the Team Foundation Server 2010 Data Warehouse and Analysis Services Databa ...
- uva live 4394 String painter 间隔dp
// uva live 4394 String painter // // 问题是,在培训指导dp运动主题,乍一看,我以为只是一点点复杂 // A A磕磕磕,两个半小时后,.发现超过例子.然而,鉴于他 ...
- muduo网络图书馆评测
上个月看到朋友推荐mudo网络图书馆,该代码是在国内同行中,开源工程后.甚至钦佩.根据mudo手动和035代码的版本看起来正在建设中.感觉是一个比较成熟且易于使用的网络库.我的手也有自己的网络库,虽然 ...
- OWIN与Katana
OWIN与Katana详解 前言 我胡汉三又回来了,!!!!, 最近忙成狗,实在没空写博文,实在对不起自己,博客园上逛了逛发现 我大微软还是很给力的 asp.net core 1.0 .net c ...
- java程序开发代写(QQ:928900200)
条件:手机1.2都是安卓智能机,手机1开热点,手机2链接手机1,功能:A手机2通过刷手机网页,登陆手机1设定的页面并下载其手机的指定文件,B手机1控制手机2的流量,当通过的流量多的时候,停止流量的供应
- HDU1237 简单的计算器 【堆】+【逆波兰式】
简单的计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Android 混淆proguard的实现(图文)
1. 在Eclipse中的project编译执行后,在文件夹bin以下有生成一些文件,当中classes.dex是未经过混淆生成的.而我们要混淆的话,就要又一次生成一个混淆过的classes.dex ...