[Swift通天遁地]五、高级扩展-(1)快速检测设备属性:版本、类型、屏幕尺寸
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10231336.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
本文将演示如何快速检测设备的各种属性。
首先确保在项目中已经安装了所需的第三方库。
点击【Podfile】,查看安装配置文件。
1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod "Device", '~> 2.0.0' 7 end
根据配置文件中的相关配置,安装第三方库。
然后点击打开【DemoApp.xcworkspace】项目文件。
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
现在开始编写代码,快速检测设备的各种属性。
1 import UIKit 2 //在当前的类文件中,引入已经安装的第三方类库 3 import Device 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 //获取设备的版本信息 11 getDeveiceVersion() 12 //获取屏幕的尺寸 13 getScreenSize() 14 //获得设备的类型 15 getDeveiceType() 16 //检测设备的屏幕 17 deviceHelpers() 18 } 19 20 //添加一个方法,用来获取设备的版本信息 21 func getDeveiceVersion() 22 { 23 //对设备的版本号进行遍历,在控制台输出相应的信息。 24 //第三方类库支持对最新版本手机的检测, 25 //当苹果发布新设备时,请及时更新第三方类库。 26 switch Device.version() 27 { 28 //手机 29 case .iPhone4: print("It's an iPhone 4") 30 case .iPhone4S: print("It's an iPhone 4S") 31 case .iPhone5: print("It's an iPhone 5") 32 case .iPhone5C: print("It's an iPhone 5C") 33 case .iPhone5S: print("It's an iPhone 5S") 34 case .iPhone6: print("It's an iPhone 6") 35 case .iPhone6S: print("It's an iPhone 6S") 36 case .iPhone6Plus: print("It's an iPhone 6 Plus") 37 case .iPhone6SPlus: print("It's an iPhone 6 S Plus") 38 case .iPhone7: print("It's an iPhone 7") 39 case .iPhone7Plus: print("It's an iPhone 7 Plus") 40 41 //平板 42 case .iPad1: print("It's an iPad 1") 43 case .iPad2: print("It's an iPad 2") 44 case .iPad3: print("It's an iPad 3") 45 case .iPad4: print("It's an iPad 4") 46 //Air系列平板 47 case .iPadAir: print("It's an iPad Air") 48 case .iPadAir2: print("It's an iPad Air 2") 49 //Mini平板 50 case .iPadMini: print("It's an iPad Mini") 51 case .iPadMini2: print("It's an iPad Mini 2") 52 case .iPadMini3: print("It's an iPad Mini 3") 53 case .iPadMini4: print("It's an iPad Mini 4") 54 //Pro平板 55 case .iPadPro: print("It's an iPad Pro") 56 57 //iPod设备 58 case .iPodTouch1Gen: print("It's a iPod touch generation 1") 59 case .iPodTouch2Gen: print("It's a iPod touch generation 2") 60 case .iPodTouch3Gen: print("It's a iPod touch generation 3") 61 case .iPodTouch4Gen: print("It's a iPod touch generation 4") 62 case .iPodTouch5Gen: print("It's a iPod touch generation 5") 63 case .iPodTouch6Gen: print("It's a iPod touch generation 6") 64 65 //处理设备为模拟器时的情况 66 case .Simulator: 67 print("It's a Simulator") 68 //处理无法识别设备时的情况 69 default: 70 print("It's an unknown device") 71 } 72 } 73 74 //添加一个方法,用来获取屏幕的尺寸 75 func getScreenSize() 76 { 77 //遍历设备的尺寸信息 78 switch Device.size() 79 { 80 case .screen3_5Inch: 81 print("It's a 3.5 inch screen") 82 case .screen4Inch: 83 print("It's a 4 inch screen") 84 case .screen4_7Inch: 85 print("It's a 4.7 inch screen") 86 case .screen5_5Inch: 87 print("It's a 5.5 inch screen") 88 case .screen7_9Inch: 89 print("It's a 7.9 inch screen") 90 case .screen9_7Inch: 91 print("It's a 9.7 inch screen") 92 case .screen12_9Inch: 93 print("It's a 12.9 inch screen") 94 //检测不到设备,输出相应信息 95 default: 96 print("Unknown size") 97 } 98 } 99 100 //添加一个方法,用来获得设备的类型 101 func getDeveiceType() 102 { 103 //对设备的所有类型进行遍历 104 switch Device.type() 105 { 106 //音乐 107 case .iPod: 108 print("It's an iPod") 109 //手机 110 case .iPhone: 111 print("It's an iPhone") 112 //平板 113 case .iPad: 114 print("It's an iPad") 115 //模拟器 116 case .Simulator: 117 print("It's a Simulated device") 118 //检测失败 119 default: 120 print("Unknown device type") 121 } 122 } 123 124 //添加一个方法,用来检测设备的屏幕 125 func deviceHelpers() 126 { 127 //检测设备的屏幕是否等于4寸 128 if Device.isEqualToScreenSize(Size.screen4Inch) 129 { 130 print("It's a 4 inch screen") 131 } 132 133 //检测设备的屏幕是否大于4.7寸 134 if Device.isLargerThanScreenSize(Size.screen4_7Inch) 135 { 136 print("Your device screen is larger than 4.7 inch") 137 } 138 139 //检测设备的屏幕是否小于4.7寸 140 if Device.isSmallerThanScreenSize(Size.screen4_7Inch) 141 { 142 print("Your device screen is smaller than 4.7 inch") 143 } 144 145 ////检测设备的屏幕是否拥有高清屏幕 146 if Device.isRetina() 147 { 148 print("It's a retina display") 149 } 150 } 151 152 override func didReceiveMemoryWarning() { 153 super.didReceiveMemoryWarning() 154 // Dispose of any resources that can be recreated. 155 } 156 }