UIDevice

@_spi(FW) extension UIDevice
  • 是否是模拟器

    Declaration

    Swift

    public static var fw_isSimulator: Bool { get }
  • 是否是iPhone

    Declaration

    Swift

    public static var fw_isIphone: Bool { get }
  • 是否是iPad

    Declaration

    Swift

    public static var fw_isIpad: Bool { get }
  • 是否是Mac

    Declaration

    Swift

    public static var fw_isMac: Bool { get }
  • 界面是否横屏

    Declaration

    Swift

    public static var fw_isLandscape: Bool { get }
  • 设备是否横屏,无论支不支持横屏

    Declaration

    Swift

    public static var fw_isDeviceLandscape: Bool { get }
  • 设置界面方向,支持旋转方向时生效

    Declaration

    Swift

    @discardableResult
    public static func fw_setDeviceOrientation(_ orientation: UIDeviceOrientation) -> Bool
  • iOS系统版本

    Declaration

    Swift

    public static var fw_iosVersion: Double { get }
  • 是否是指定iOS主版本

    Declaration

    Swift

    public static func fw_isIos(_ version: Int) -> Bool
  • 是否是大于等于指定iOS主版本

    Declaration

    Swift

    public static func fw_isIosLater(_ version: Int) -> Bool
  • 设备尺寸,跟横竖屏无关

    Declaration

    Swift

    public static var fw_deviceSize: CGSize { get }
  • 设备宽度,跟横竖屏无关

    Declaration

    Swift

    public static var fw_deviceWidth: CGFloat { get }
  • 设备高度,跟横竖屏无关

    Declaration

    Swift

    public static var fw_deviceHeight: CGFloat { get }
  • 设备分辨率,跟横竖屏无关

    Declaration

    Swift

    public static var fw_deviceResolution: CGSize { get }

UIDevice+UIKit

  • 设置设备token原始Data,格式化并保存

    Declaration

    Swift

    public static func fw_setDeviceTokenData(_ tokenData: Data?)
  • 获取设备Token格式化后的字符串

    Declaration

    Swift

    public static var fw_deviceToken: String? { get set }
  • 获取设备模型,格式:"iPhone6,1"

    Declaration

    Swift

    public static var fw_deviceModel: String? { get }
  • 获取设备IDFV(内部使用),同账号应用全删除后会改变,可通过keychain持久化

    Declaration

    Swift

    public static var fw_deviceIDFV: String? { get }
  • 获取设备IDFA(外部使用),重置广告或系统后会改变,需先检测广告追踪权限,启用Tracking子模块后生效

    Declaration

    Swift

    public static var fw_deviceIDFA: String? { get }
  • 获取或设置设备UUID,自动keychain持久化。默认获取IDFV(未使用IDFA,避免额外权限),失败则随机生成一个

    Declaration

    Swift

    public static var fw_deviceUUID: String { get set }
  • 是否越狱

    Declaration

    Swift

    public static var fw_isJailbroken: Bool { get }
  • 本地IP地址

    Declaration

    Swift

    public static var fw_ipAddress: String? { get }
  • 本地主机名称

    Declaration

    Swift

    public static var fw_hostName: String? { get }
  • 手机蜂窝网络类型列表,仅区分2G|3G|4G|5G

    Declaration

    Swift

    public static var fw_networkTypes: [String]? { get }