123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- /*
- *------------------------------------------------------------------
- * pandora/tools/PDRToolSystemEx.h.h
- * Description:
- * 获取设备信息头文件
- * DCloud Confidential Proprietary
- * Copyright (c) Department of Research and Development/Beijing/DCloud.
- * All Rights Reserved.
- *
- * Changelog:
- * number author modify date modify record
- * 0 xty 2013-1-10 创建文件
- *------------------------------------------------------------------
- */
- #import <CoreGraphics/CoreGraphics.h>
- #import <UIKit/UIKit.h>
- #import <QuartzCore/QuartzCore.h>
- #import <SystemConfiguration/SystemConfiguration.h>
- #import <CoreText/CoreText.h>
- #define PT_IsAtLeastiOSVersion(X) ([[[UIDevice currentDevice] systemVersion] compare:X options:NSNumericSearch] != NSOrderedAscending)
- #define PT_IsIPad() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] && ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad))
- /*
- **@获取系统时间
- */
- @interface PTDate : NSObject
- +(PTDate*)date;
- @property(nonatomic, readonly)NSInteger year;
- @property(nonatomic, readonly)SInt8 month;
- @property(nonatomic, readonly)SInt8 day;
- @property(nonatomic, readonly)SInt8 hour;
- @property(nonatomic, readonly)SInt8 minute;
- @property(nonatomic, readonly)double sencond;
- @property(nonatomic, readonly)double milliseconds;
- +(NSDate*)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day;
- +(NSDate*)dateWithHour:(NSInteger)hour minute:(NSInteger)minute sencond:(NSInteger)sencond;
- @end
- /*
- **@采集网络的相关信息,域名为plus.device
- */
- typedef NS_ENUM(NSInteger, PTNetType) {
- PTNetTypeUnknow = 0,
- PTNetTypeNone, // none
- PTNetTypeEthernet, // none
- PTNetTypeWIFI, // wifi
- PTNetTypeCell2G, // 2G
- PTNetTypeCell3G, // 3G
- PTNetTypeCell4G, // 4G
- PTNetTypeWWAN // 2g/3g
- };
- typedef void (^PTNetInfoNetChangeCallback)(PTNetType newNetType, PTNetType oldNetType);
- @interface PTNetInfo : NSObject
- @property(nonatomic, readonly)PTNetType netType;
- + (instancetype)info;
- - (BOOL)startNotifierWithCallback:(SCNetworkReachabilityCallBack)reachabilityCallback;
- - (BOOL)startNotifierWithBlock:(PTNetInfoNetChangeCallback)reachabilityCallback;
- - (void)stopNotifier;
- + (instancetype)reachabilityForInternetConnection;
- @end
- /*
- **@采集手机硬件的相关信息,域名为plus.device
- */
- @interface PTDeviceInfo : NSObject
- //国际移动设备身份码
- @property(nonatomic, retain)NSString *IMEI;
- //国际移动用户识别码
- @property(nonatomic, retain)NSString *IMSI;
- //设备型号
- @property(nonatomic, retain)NSString *model;
- //生产厂商
- @property(nonatomic, retain)NSString *vendor;
- @property(nonatomic, retain)NSString *UUID;
- //移动网络国家类型,Mobile Country Code
- @property(nonatomic, retain)NSString *mcc;
- //"运营商代号,Mobile Country Code"
- @property(nonatomic, retain)NSString *mnc;
- @property(nonatomic, retain)NSString *mac;
- +(PTDeviceInfo*)deviceInfo;
- + (NSString*)openUUID;
- + (NSString*)uniqueAppInstanceIdentifier;
- @end
- typedef NS_ENUM(NSInteger, PTSystemVersion) {
- PTSystemVersion5Series = 0,
- PTSystemVersion6Series,
- PTSystemVersion7Series,
- PTSystemVersion8Series,
- PTSystemVersion9Series,
- PTSystemVersion10Series,
- PTSystemVersion11Series,
- PTSystemVersionUnknown
- };
- typedef NS_ENUM(NSInteger, PTDeviceType) {
- PTDeviceTypeiPhoneSimulator,
- PTDeviceTypeiPhone3G,
- PTDeviceTypeiPhone3GS,
- PTDeviceTypeiPhone4,
- PTDeviceTypeiPhone4s,
- PTDeviceTypeiPhone5,
- PTDeviceTypeiPhone5c,
- PTDeviceTypeiPhone5s,
- PTDeviceTypeiPhone6,
- PTDeviceTypeiPhone6Plus,
- PTDeviceTypeiPhone6s,
- PTDeviceTypeiPhone6sPlus,
- PTDeviceTypeiPhone7,
- PTDeviceTypeiPhone7Plus,
- PTDeviceTypeiPhone8,
- PTDeviceTypeiPhone8Plus,
- PTDeviceTypeiPhoneX,
- PTDeviceTypeiPhoneXR,
- PTDeviceTypeiPhoneXS,
- PTDeviceTypeiPhoneXSMax,
- PTDeviceTypeiPhoneSE,
- PTDeviceTypeiPod3G,
- PTDeviceTypeiPod4G,
- PTDeviceTypeiPod5G,
- PTDeviceTypeiPad5,
- PTDeviceTypeiPad6,
- PTDeviceTypeiPadPro,
- PTDeviceTypeiPadAir2,
- PTDeviceTypeiPadAir,
- PTDeviceTypeNewiPad,
- PTDeviceTypeiPad3,
- PTDeviceTypeiPad2,
- PTDeviceTypeiPad1,
- PTDeviceTypeiPadMini4,
- PTDeviceTypeiPadMini3,
- PTDeviceTypeiPadMini2,
- PTDeviceTypeiPadMini1,
- PTDeviceTypeiAppleTV,
- PTDeviceTypeiUnknown
- };
- /*
- **@采集手机操作系统的相关信息,域名为plus.os
- */
- @interface PTDeviceOSInfo : NSObject
- //操作系统语言
- @property(nonatomic, retain)NSString *language;
- //操作系统版本号
- @property(nonatomic, retain)NSString *version;
- //操作系统名称
- @property(nonatomic, retain)NSString *name;
- //操作系统提供商
- @property(nonatomic, retain)NSString *vendor;
- +(NSString*)deviceUtsname;
- + (NSString*)getPreferredLanguage;
- + (PTDeviceOSInfo*)osInfo;
- + (PTSystemVersion)systemVersion;
- + (PTDeviceType)deviceType;
- + (NSString*)deviceTypeInString;
- + (NSString*)cuntryCode;
- + (BOOL)is7Series;
- + (BOOL)is6Series;
- + (BOOL)is5Series;
- + (BOOL)isIpad;
- @end
- /*
- **@采集手机自身屏幕的相关分辨率等信息,域名为plus.screen
- */
- @interface PTDeviceScreenInfo : NSObject
- //屏幕高度
- @property(nonatomic, assign)CGFloat resolutionHeight;
- //屏幕宽度
- @property(nonatomic, assign)CGFloat resolutionWidth;
- //屏幕物理高度
- @property(nonatomic, assign)CGFloat height;
- //屏幕物理宽度
- @property(nonatomic, assign)CGFloat width;
- //X方向上的密度
- @property(nonatomic, assign)CGFloat dpiX;
- //Y方向上的密度
- @property(nonatomic, assign)CGFloat dpiY;
- @property(nonatomic, assign)CGFloat scale;
- +(PTDeviceScreenInfo*)screenInfo;
- @end
- /*
- **@采集手机自身屏幕的相关分辨率等信息,域名为plus.screen
- */
- @interface PTDeviceDisplayInfo : NSObject
- //应用可用区域
- @property (nonatomic, assign)CGRect displayRect;
- //应用可用高度
- @property(nonatomic, assign)CGFloat resolutionHeight;
- //应用可用宽度
- @property(nonatomic, assign)CGFloat resolutionWidth;
- - (CGRect)displayRect;
- +(PTDeviceDisplayInfo*)displayInfo;
- +(PTDeviceDisplayInfo*)displayInfoWith:(UIInterfaceOrientation)orientation;
- @end
- @interface PTDevice : NSObject
- {
- PTDeviceInfo *_deviceInfo;
- PTDeviceOSInfo *_osInfo;
- PTDeviceScreenInfo *_screenInfo;
- PTDeviceDisplayInfo *_displayInfo;
- PTNetInfo *_netInfo;
- }
- +(PTDevice*)sharedDevice;
- -(void)update;
- @property(nonatomic, retain)PTDeviceInfo *deviceInfo;
- @property(nonatomic, retain)PTDeviceOSInfo *osInfo;
- @property(nonatomic, retain)PTDeviceScreenInfo *screenInfo;
- @property(nonatomic, retain)PTDeviceDisplayInfo *displayInfo;
- /*@property(nonatomic, retain)PTNetInfo *netInfo;*/
- +(long long)getAvailableMemorySize;
- +(long long)getUseMemorySize;
- + (void)setDeviceInterfaceOrientation:(UIInterfaceOrientation)orientation;
- @end
- @interface NSString(Measure)
- - (BOOL)isAlphaNumeric;
- - (int)getMeasure:(CGFloat*)aOutValue withStaff:(CGFloat)aStaff;
- @end
- @interface UIColor(longColor)
- -(NSString*)CSSColor:(BOOL)hasAlpha;
- +(UIColor*)colorWithLong:(long)colorValue;
- +(UIColor*)colorWithCSS:(NSString*)cssColor;
- +(CGFloat)alphWithCSS:(NSString*)cssColor;
- @end
- @interface CAMediaTimingFunction(Util)
- +(CAMediaTimingFunction*)curveEnum2Obj:(UIViewAnimationCurve)curve;
- @end
- @interface PTGIF :NSObject
- @property(nonatomic, retain, readonly)NSArray *frames;
- @property(nonatomic, retain, readonly)NSArray *delayTimes;
- + (instancetype)praseGIFData:(NSData *)data;
- + (instancetype)createGifWithFrames:(NSArray *)f withDelayTimes:(NSArray*)delayTimes;
- @end
- @interface NSDate (DateFormater)
- + (NSDate*)dateFromString:(NSString*)dateStr;
- + (NSString*)stringFrmeDate:(NSDate*)date;
- //根据格式把时间转为字符串(默认使用本地所在时区)
- - (NSString *)stringWithFormat:(NSString*)fmt;
- @end
- typedef NS_ENUM(NSInteger, UIImageCheckImageIsPureWhiteOption) {
- UIImageCIWTop22 = 0,//从顶部向下偏移22px横线截屏检测渲染是否完成
- UIImageCIWBottom22 = 1,//-从底部向上偏移25px横线检测渲染是否完成
- UIImageCIWCenter = 2,//-从中间横线检测渲染是否完成
- UIImageCIWAuto = 3,//为全屏检测(左、中、右三条竖线)
- UIImageCIWFull = 4 // 为全屏检测
- };
- //导航图标旋转接口
- @interface UIImage(Util)
- - (UIImage *)adjustOrientation;
- - (UIImage*)adjustOrientationToup;
- - (UIImage*)imageRotatedByDegrees:(CGFloat)degrees
- supportRetina:(BOOL)support
- scale:(CGFloat)scale;
- + (UIImage*)screenshot:(UIView*)view clipRect:(CGRect)shotRect;
- - (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size;
- + (BOOL)checkImageIsPureWhite:(UIImage*)image;
- + (NSData*)compressImageData:(NSData*)srcData toMaxSize:(long)maxSize;
- + (UIImage*)dcloud_imageWithContentsOfFile:(NSString *)path;
- + (BOOL)checkImageIsPureWhite:(UIImage*)image option:(UIImageCheckImageIsPureWhiteOption)option;
- @end
- @interface NSString (WBRequest)
- - (NSString*)urlEncode;
- - (NSString *)URLDecodeStringEx;
- - (NSString *)URLEncodedStringEx;
- - (NSString *)URLDecodedStringWithCFStringEncodingEx:(CFStringEncoding)encoding;
- - (NSString *)URLEncodedStringWithCFStringEncodingEx:(CFStringEncoding)encoding;
- /**
- * 判断字符串中是否有中文,如果有则将中文转码
- */
- - (NSString *)URLChineseEncode;
- - (NSString *)convertToMD5;
- - (BOOL)isWebUrlString;
- @end
- @interface PTTool : NSObject
- + (BOOL)setSkipBackupAttribute:(BOOL)skip toItemAtURL:(NSURL*)URL;
- + (NSDictionary*)merge:(NSDictionary*)merge to:(NSDictionary*)to;
- @end
- @interface NSData (AES)
- - (NSData *)AESEncryptWithKey:(NSString *)key;
- - (NSData *)AESEncryptWithKey128:(NSString *)key;
- - (NSData *)AESDecryptWithKey:(NSString *)key;
- - (NSData *)AESDecryptWithKey128:(NSString *)key;
- + (NSData *)compressData:(NSData*)uncompressedData;
- - (NSData *)compressData:(NSData*)uncompressedData;
- @end
- typedef NS_ENUM(NSInteger, H5CoreToolDirection) {
- H5CoreToolDirectionDown,
- H5CoreToolDirectionUp,
- H5CoreToolDirectionLeft,
- H5CoreToolDirectionRight,
- H5CoreToolDirectionUnknown
- };
- extern NSString *kDCCoreToolFontMetaKeyName;
- extern NSString *kDCCoreToolFontMetaKeyTraits;
- @interface H5CoreTool : NSObject
- + (NSString*)dynamicLoadFont:(NSString*)fontFilePath;
- + (NSString*)dynamicLoadFontUseCache:(NSString*)newPath;
- + (NSDictionary*)dynamicLoadFontMeta:(NSString*)fontFilePath;
- + (NSDictionary*)dynamicLoadFontMetaUseCache:(NSString*)newPath;
- + (H5CoreToolDirection)determineDirection:(CGPoint)translation;
- + (void)getLocationTestAuthentication:(BOOL)testAuthentication withReslutBlock:(void(^)(NSDictionary*, NSError*))block;
- @end
- @interface H5TextCheck :NSObject
- + (BOOL)isTelephone:(NSString*)value;
- + (BOOL)isEmail:(NSString*)value;
- @end
- @interface UIFont(H5Tool)
- +(CGFloat)piexl2Size:(CGFloat)piexl;
- @end
- @interface NSArray(DCAdd)
- -(BOOL)dc_containsStringCaseInsensitive:(NSString*)testString;
- @end
- typedef NS_ENUM(NSInteger, PDRCoreAppSSLActive) {
- PDRCoreAppSSLActiveAllow = 0,
- PDRCoreAppSSLActiveWarning,
- PDRCoreAppSSLActiveRefuse
- };
- @interface NSObject(DCFlgs)
- - (void)dc_destoryFlgs;
- - (void)dc_mask_set:(int)flg;
- - (BOOL)dc_mask_test:(int)flg;
- - (void)dc_mask_clear:(int)flg;
- - (void)dc_mask2_set:(int)flg;
- - (BOOL)dc_mask2_test:(int)flg;
- - (void)dc_mask2_clear:(int)flg;
- + (void)dc_mask:(NSUInteger)store clear:(int)flg;
- + (BOOL)dc_mask:(NSUInteger)store test:(int)flg;
- + (void)dc_mask:(NSUInteger)store set:(int)flg;
- @end
- #ifdef __cplusplus
- extern "C" {
- #endif
- int PT_Parse_GetMeasurement( NSObject* aMeasure, CGFloat aStaff, CGFloat * aOutMeasureValue );
- CGSize DCT_CGSizeSwap(CGSize);
- CGRect DCT_CGRectEdgeInsets(CGRect, UIEdgeInsets);
- CGRect tDCT_CGRectEdgeInsets(CGRect, UIEdgeInsets,CGFloat);
- CGRect jDCT_CGRectEdgeInsets(CGRect, CGFloat,CGFloat);
- #ifdef __cplusplus
- }
- #endif
|