调用系统打电话的功能
打电话功能只有iPhone支持,对于其他设备对应按钮应该禁用。
//直接调用系统电话呼叫功能,挂断电话后不能回到应用程序
[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()方法,这是系统定义的一条宏。使用方法也很简单。
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];
后续更新...