MOBFDevice.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. //
  2. // MOBFDeviceUtils.h
  3. // MOBFoundation
  4. //
  5. // Created by vimfung on 15-1-19.
  6. // Copyright (c) 2015年 MOB. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. extern NSString *kMOBFReachabilityChangedNotification;
  11. /**
  12. * 网络类型
  13. */
  14. typedef NS_ENUM(NSUInteger, MOBFNetworkType)
  15. {
  16. /**
  17. * 无网咯
  18. */
  19. MOBFNetworkTypeNone = 0,
  20. /**
  21. * 蜂窝网络
  22. */
  23. MOBFNetworkTypeCellular = 2,
  24. /**
  25. * WIFI
  26. */
  27. MOBFNetworkTypeWifi = 1,
  28. /**
  29. * 2G网络
  30. */
  31. MOBFNetworkTypeCellular2G = 3,
  32. /**
  33. * 3G网络
  34. */
  35. MOBFNetworkTypeCellular3G = 4,
  36. /**
  37. * 4G网络
  38. */
  39. MOBFNetworkTypeCellular4G = 5,
  40. };
  41. /**
  42. IP版本
  43. - MOBFIPVersion4: IPv4
  44. - MOBFIPVersion6: IPv6
  45. */
  46. typedef NS_ENUM(NSUInteger, MOBFIPVersion)
  47. {
  48. MOBFIPVersion4 = 0,
  49. MOBFIPVersion6 = 1,
  50. };
  51. /**
  52. * 设备工具类
  53. */
  54. @interface MOBFDevice : NSObject
  55. /**
  56. * 获取网卡物理地址
  57. *
  58. * @return 网卡物理地址
  59. */
  60. + (NSString *)macAddress;
  61. /**
  62. * 获取设备型号
  63. *
  64. * @return 设备型号
  65. */
  66. + (NSString *)deviceModel;
  67. /**
  68. * 获取当前网络类型
  69. *
  70. * @return 网络类型
  71. */
  72. + (MOBFNetworkType)currentNetworkType;
  73. /**
  74. * 获取手机运营商代码
  75. *
  76. * @return 手机运营商代码
  77. */
  78. + (NSString *)carrier;
  79. /**
  80. * 获取手机运营商名称
  81. *
  82. * @return 运营商名称
  83. */
  84. + (NSString *)carrierName;
  85. /**
  86. * 获取手机运营商国家码
  87. *
  88. * @return 运营商国家码
  89. */
  90. + (NSString *)mobileCountryCode;
  91. /**
  92. * 获取手机运营商网络编号
  93. *
  94. * @return 运营商网络编号
  95. */
  96. + (NSString *)mobileNetworkCode;
  97. /**
  98. * 与当前系统版本比较
  99. *
  100. * @param other 需要对比的版本
  101. *
  102. * @return < 0 低于指定版本; = 0 跟指定版本相同;> 0 高于指定版本
  103. */
  104. + (NSInteger)versionCompare:(NSString *)other;
  105. /**
  106. * 判断是否已经越狱
  107. *
  108. * @return YES 已经越狱,NO 尚未越狱
  109. */
  110. + (BOOL)hasJailBroken;
  111. /**
  112. * 获取运行进程信息
  113. *
  114. * @return 进程信息列表
  115. */
  116. + (NSArray *)runningProcesses;
  117. /**
  118. * 判断当前设备是否为iPad
  119. *
  120. * @return YES 是,NO 否
  121. */
  122. + (BOOL)isPad;
  123. /**
  124. * 获取设备唯一标识
  125. *
  126. * @return 标识码
  127. */
  128. + (NSString *)duid;
  129. /**
  130. * 获取屏幕真实尺寸
  131. *
  132. * @return 屏幕尺寸
  133. */
  134. + (CGSize)nativeScreenSize;
  135. /**
  136. * 获取无线局域网的服务集标识(WIFI名称)
  137. *
  138. * @return 服务集标识
  139. */
  140. + (NSString *)ssid;
  141. /**
  142. * 获取基础服务集标识(站点的MAC地址)
  143. *
  144. * @return 基础服务集标识
  145. */
  146. + (NSString *)bssid;
  147. /**
  148. * 获取当前语言
  149. *
  150. * @return 语言描述
  151. */
  152. + (NSString *)currentLanguage;
  153. /**
  154. * 获取设备IP地址
  155. *
  156. * @return IP地址
  157. */
  158. + (NSString *)ipAddress:(MOBFIPVersion)ver;
  159. /**
  160. * 获取开发商ID
  161. *
  162. * @return 开发商ID
  163. */
  164. + (NSString *)idfv;
  165. /**
  166. * 获取物理内存
  167. @return 物理内存
  168. */
  169. + (double)physicalMemory;
  170. /**
  171. * 获取存储大小
  172. @return 存储大小
  173. */
  174. + (long long)diskSpace;
  175. /**
  176. * cpu 类型
  177. *
  178. * @return cpu 类型
  179. */
  180. + (NSString *)cpuType;
  181. /**
  182. * 获取无线局域网的强度
  183. *
  184. * @return 强度 3: 强 ,2:中, 1:弱 ,无
  185. */
  186. + (int)wifiLevel;
  187. @end