MOBFDevice.h 2.8 KB

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