iOS判断机型
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_OPTIONS(NSInteger,DeviceType) {
iPhoneFivePointFiveInch = 1 << 0,
iPhoneFourPointSevenInch = 1 << 1,
iPhoneFourInch = 1 << 2,
iPhoneThreePointFiveInch = 1 << 3,
iPadPro = 1 << 4,
iPadOhter = 1 << 5
};
@interface CheckDevice : NSObject
+ (DeviceType)getCurrentDevice;
@end
#import "CheckDevice.h"
#import "sys/utsname.h"
@implementation CheckDevice
+ (DeviceType)getCurrentDevice {
//机型的尺寸
//iPadPro和iPhone6公用{375, 667},iPad其他机型和iPhone4s公用{320, 480}
NSArray *iPhoneSize = @[@"{414, 736}", @"{375, 667}", @"{320, 568}", @"{320, 480}"];
//判断屏幕尺寸
NSString *type = NSStringFromCGSize([UIScreen mainScreen].bounds.size);
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if ([platform hasPrefix:@"iPhone"]) {
return [iPhoneSize indexOfObject:type];
}else if([platform hasPrefix:@"iPad"]) {//iPad
if ([iPhoneSize indexOfObject:type] == iPhoneFourPointSevenInch)
return iPadPro;
else
return iPadOhter;
}else//模拟器
return [iPhoneSize indexOfObject:type];
}
@end
iOS判断机型的更多相关文章
- 判断机型是否为iphoneX
判断机型是否为iphoneX isIPhoneX() { var u = navigator.userAgent; var isIOS ...
- iOS 判断数组是否为空
有人说可以用([array count]==0 )来判断是否为空,都是坑,如果array为空的话,执行count就会直接报错,程序崩溃退出. 正确判断NSArray是否为空的方法:用 (!array) ...
- iOS 判断相机权限是否被限制,判断相机是否可以使用
判断相机权限是否被限制 需要导入 AVFoundation 类 [objc] view plain copy #import <AVFoundation/AVFoundation.h> ...
- IOS判断NSArray是否为空
场景描述:判断一个集合是否为空,如果不为空执行A,如果为空执行B Java实现方法 public void exec(){ List<String> list = this.getCont ...
- ios 判断用户是否开启权限---并跳转设置
ios 判断用户是否开启权限---并跳转设置 ios 判断用户是否开启权限---并跳转“系统设置” 1.判断 访问相册 或 相机 权限是否开启 2.检测是否开启定位 后面将持续更新 只有在应用请求过位 ...
- iOS 最新判断机型设备方法
#define isIphoneXXS [UIScreen mainScreen].bounds.size.width == 375 && [UIScreen mainScreen] ...
- IOS判断网络环境
https://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html 我下载的是vertio ...
- js网页判断移动终端浏览器版本信息是安卓还是苹果ios,判断在微信浏览器跳转不同页面,生成二维码
一个二维码,扫描进入网页,自动识别下载苹果和安卓客户端,判断网页如下,(只有苹果的微信不能自动跳转)所以加个微信判断. <!DOCTYPE html> <html> <h ...
- iOS 判断当前网络状态的三种方法
http://www.cocoachina.com/ios/20171103/21039.html 在项目中,为了好的用户体验,有些场景必须线判断网络状态,然后才能决定改干嘛.比如视频播放,需要线判断 ...
随机推荐
- css3——webkit-animation动画
-webkit-animation:仍旧是一个复合属性, -webkit-animation: name duration timing-function delay iteration_coun ...
- php随笔1-php图片处理
php图片处理的知识内容 upload_image.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- php笔试算法题:顺时针打印矩阵坐标-蛇形算法
这几天参加面试,本来笔试比较简单,但是在面试的时候,技术面试官说让我现场写一个算法,顺时针打印矩阵的坐标,如图所示 顺序为,0,1,2,3,4,9,14,19,24,23,22,21,20,15,10 ...
- libwebsocket manual
Name: libwebsocket_cancel_service - Cancel servicing of pending websocket activity Synopsis: void li ...
- linux基础--chkconfig 详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- SQL Server 向堆表中插入数据的过程
堆表中 IAM 记录着的数据页,表的各个数据页之间没有联系.也就是说一个页面它不会知道自己的前一页是谁,也不知道自己的后一页是谁. 插入数据时先找到IAM页,再由pfs(page free spac ...
- sar
雷达卫星数据产品介绍(一) — ERS 卫星 ERS-1 ERS-2 欧空局分别于 1991 年和 1995 年发射. 携带有多种有效载荷, 包括 侧视合成孔径雷达(SAR)和风向散射计等装置),由于 ...
- C#版-百度网盘API的实现(二)
在这篇文章中,我们通过代码来实现百度网盘的简单操作, 一,登陆,在代码中,我有一个Baidu1的类,实例化该类时回执行登陆方法,该类对外开放了三个方法, 1,GetFileDir获取根目录下的文件夹及 ...
- 一款C++静态分析工具 —— CppDepend
Wrote by mutouyun. (http://darkc.at/cppdepend/) 去年6月份的时候,CppDepend的一位技术社区经理(technical community mana ...
- Delphi中TFlowPanel实现滚动条效果
由于TFlowPanel中没有设置滚动条的相关属性.所以我们只好另辟溪径.再加一个tscrollbox来实现. 具体操作如下: 1,先添加一个Tscrollbox,设置其align为alclient. ...