104 lines
3.4 KiB
Objective-C
104 lines
3.4 KiB
Objective-C
//
|
|
// CocoaDebugTool.m
|
|
// Example_Swift
|
|
//
|
|
// Created by man 5/8/19.
|
|
// Copyright © 2020 man. All rights reserved.
|
|
//
|
|
|
|
#import "CocoaDebugTool.h"
|
|
#import "_OCLogHelper.h"
|
|
#import "GPBMessage+CocoaDebug.h"
|
|
//#import "GPBMessage.h"
|
|
|
|
@implementation CocoaDebugTool
|
|
|
|
#pragma mark - logWithString
|
|
+ (void)logWithString:(NSString *)string {
|
|
[self logWithString:string color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]];
|
|
}
|
|
|
|
+ (void)logWithString:(NSString *)string color:(UIColor *)color {
|
|
[self finalLogWithString:string type:CocoaDebugToolTypeNone color:color];
|
|
}
|
|
|
|
|
|
#pragma mark - logWithJsonData
|
|
+ (NSString *)logWithJsonData:(NSData *)data {
|
|
return [self logWithJsonData:data color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]];
|
|
}
|
|
|
|
+ (NSString *)logWithJsonData:(NSData *)data color:(UIColor *)color {
|
|
NSString *string = [self getPrettyJsonStringWithData:data] ? : @"NULL";
|
|
return [self finalLogWithString:string type:CocoaDebugToolTypeJson color:color];
|
|
}
|
|
|
|
|
|
//#pragma mark - logWithProtobufData
|
|
//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className {
|
|
// return [self logWithProtobufData:data className:className color:[UIColor colorWithRed:1 green:1 blue:1 alpha:1]];
|
|
//}
|
|
//
|
|
//+ (NSString *)logWithProtobufData:(NSData *)data className:(NSString *)className color:(UIColor *)color {
|
|
// NSString *string = [self parsingProtobufWithData:data className:className] ? : @"NULL";
|
|
// return [self finalLogWithString:string type:CocoaDebugToolTypeProtobuf color:color];
|
|
//}
|
|
|
|
|
|
|
|
|
|
#pragma mark - tool
|
|
|
|
+ (NSString *)getPrettyJsonStringWithJsonString:(NSString *)jsonString {
|
|
return [self getPrettyJsonStringWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
|
|
}
|
|
|
|
+ (NSString *)getPrettyJsonStringWithData:(NSData *)data {
|
|
if (!data) {return nil;}
|
|
|
|
//1.pretty json
|
|
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
|
|
if (!dict) {return nil;}
|
|
|
|
NSData *prettyData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
|
|
if (!prettyData) {return nil;}
|
|
|
|
NSString *prettyJsonString = [[NSString alloc] initWithData:prettyData encoding:NSUTF8StringEncoding];
|
|
if (prettyJsonString) {
|
|
return prettyJsonString;
|
|
}
|
|
|
|
//2.protobuf
|
|
// GPBMessage *message = [GPBMessage parseFromData:data error:nil];
|
|
// if ([message serializedSize] > 0) {
|
|
// return [message description];
|
|
// }
|
|
|
|
//3.utf-8 string
|
|
return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
}
|
|
|
|
+ (NSString *)finalLogWithString:(NSString *)string type:(CocoaDebugToolType)type color:(UIColor *)color {
|
|
[[_OCLogHelper shared] handleLogWithFile:@"XXX" function:@"XXX" line:1 message:string color:color type:type];
|
|
return string;
|
|
}
|
|
|
|
//解析Protobuf
|
|
//+ (NSString *)parsingProtobufWithData:(NSData *)data className:(NSString *)className {
|
|
// if (!data || !className) {return nil;}
|
|
//
|
|
// Class cls = NSClassFromString(className);
|
|
// //protobuf
|
|
// GPBMessage *obj = [cls parseFromData:data error:nil];
|
|
// //HuiCao
|
|
// NSString *jsonString = [obj _JSONStringWithIgnoreFields:nil];
|
|
// if (!jsonString) {return nil;}
|
|
//
|
|
// NSString *prettyJsonString = [self getPrettyJsonStringWithJsonString:jsonString];
|
|
// if (!prettyJsonString) {return nil;}
|
|
//
|
|
// return [prettyJsonString stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
|
|
//}
|
|
|
|
@end
|