LookinAppInfo.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // LookinAppInfo.h
  3. // qmuidemo
  4. //
  5. // Created by Li Kai on 2018/11/3.
  6. // Copyright © 2018 QMUI Team. All rights reserved.
  7. //
  8. #import "LookinDefines.h"
  9. typedef NS_ENUM(NSInteger, LookinAppInfoDevice) {
  10. LookinAppInfoDeviceSimulator, // 模拟器
  11. LookinAppInfoDeviceIPad, // iPad 真机
  12. LookinAppInfoDeviceOthers // 应该视为 iPhone 真机
  13. };
  14. @interface LookinAppInfo : NSObject <NSSecureCoding, NSCopying>
  15. /// 每次启动 app 时都会随机生成一个 appInfoIdentifier 直到 app 被 kill 掉
  16. @property(nonatomic, assign) NSUInteger appInfoIdentifier;
  17. /// mac 端应该先读取该属性,如果为 YES 则表示应该使用之前保存的旧 appInfo 对象即可
  18. @property(nonatomic, assign) BOOL shouldUseCache;
  19. /// LookinServer 的版本
  20. @property(nonatomic, assign) int serverVersion;
  21. /// app 的当前截图
  22. @property(nonatomic, strong) LookinImage *screenshot;
  23. /// 可能为 nil,比如新建的 iOS 空项目
  24. @property(nonatomic, strong) LookinImage *appIcon;
  25. /// @"微信读书"
  26. @property(nonatomic, copy) NSString *appName;
  27. /// hughkli.lookin
  28. @property(nonatomic, copy) NSString *appBundleIdentifier;
  29. /// @"iPhone X"
  30. @property(nonatomic, copy) NSString *deviceDescription;
  31. /// @"12.1"
  32. @property(nonatomic, copy) NSString *osDescription;
  33. /// 返回 os 的主版本号,比如 iOS 12.1 的设备将返回 12,iOS 13.2.1 的设备将返回 13
  34. @property(nonatomic, assign) NSUInteger osMainVersion;
  35. /// 设备类型
  36. @property(nonatomic, assign) LookinAppInfoDevice deviceType;
  37. /// 屏幕的宽度
  38. @property(nonatomic, assign) double screenWidth;
  39. /// 屏幕的高度
  40. @property(nonatomic, assign) double screenHeight;
  41. /// 是几倍的屏幕
  42. @property(nonatomic, assign) double screenScale;
  43. - (BOOL)isEqualToAppInfo:(LookinAppInfo *)info;
  44. #if TARGET_OS_IPHONE
  45. + (LookinAppInfo *)currentInfoWithScreenshot:(BOOL)hasScreenshot icon:(BOOL)hasIcon localIdentifiers:(NSArray<NSNumber *> *)localIdentifiers;
  46. #else
  47. @property(nonatomic, assign) NSTimeInterval cachedTimestamp;
  48. #endif
  49. @end