CommonControl.m 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // CommonControl.m
  3. // FunSDKDemo
  4. //
  5. // Created by XM on 2018/10/19.
  6. // Copyright © 2018年 XM. All rights reserved.
  7. //
  8. #import "CommonControl.h"
  9. #import "sys/utsname.h"
  10. #import "Header.h"
  11. static CommonControl *instance;
  12. @implementation CommonControl
  13. +(id)getInstance
  14. {
  15. if (instance == nil) {
  16. instance = [[CommonControl alloc] init];
  17. }
  18. return instance;
  19. }
  20. //获取手机信息
  21. - (int)getDeviceString
  22. {
  23. if (self.iponeVersion != typeNone) {
  24. return self.iponeVersion;
  25. }
  26. //模拟器只能用这种方式
  27. int height = (int)[UIScreen mainScreen].bounds.size.height;
  28. if (height == 812) {
  29. self.iponeVersion = IphoneX;
  30. return IphoneX;
  31. }
  32. //真机可以用下面的方式
  33. struct utsname systemInfos;
  34. uname(&systemInfos);
  35. NSString *platform = [NSString stringWithCString:systemInfos.machine encoding:NSUTF8StringEncoding];
  36. if ([platform isEqualToString:@"iPhone9,1"] || [platform isEqualToString:@"iPhone9,3"]){
  37. return Iphone7;
  38. }else if ([platform isEqualToString:@"iPhone9,2"] || [platform isEqualToString:@"iPhone9,4"]){
  39. return Iphone7P;
  40. }else if ([platform isEqualToString:@"iPhone10,1"] || [platform isEqualToString:@"iPhone10,4"]){
  41. return Iphone8;
  42. }else if ([platform isEqualToString:@"iPhone10,2"] || [platform isEqualToString:@"iPhone10,5"]){
  43. return Iphone8P;
  44. }else if ([platform isEqualToString:@"iPhone10,3"] || [platform isEqualToString:@"iPhone10,6"]){
  45. return IphoneX;
  46. }else if([platform isEqualToString:@"iPhone8,1"]){
  47. self.iponeVersion = Iphone6;
  48. return Iphone6;
  49. }else if ([platform isEqualToString:@"iPhone8,2"]){
  50. self.iponeVersion = Iphone6P;
  51. return Iphone6P;
  52. }else if ([platform isEqualToString:@"iPhone7,2"]) {
  53. self.iponeVersion = Iphone6;
  54. return Iphone6;
  55. }else if ([platform isEqualToString:@"iPhone7,1"]) {
  56. self.iponeVersion = Iphone6P;
  57. return Iphone6P;
  58. }else if ([platform isEqualToString:@"iPhone6,1"]||[platform isEqualToString:@"iPhone6,0"]||[platform isEqualToString:@"iPhone6,2"])
  59. {
  60. self.iponeVersion = Iphone5;
  61. return Iphone5;
  62. }else {
  63. self.iponeVersion = Iphone4;
  64. return Iphone4;
  65. }
  66. }
  67. @end