MOBFDevice.h 2.7 KB

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