Xcode 8がプラグインを使用できない場合、コンソールは中国語を出力します
2358 ワード
Xcode 8が更新されたため、サードパーティ製プラグインは基本的に使用できません.
コンソールから出力データはUnicode形式であり、使いやすいようにプロジェクトに新規作成する必要がある.mファイルFoundation+Log.m
このコードをFoundation+Logに入れると、Unicodeではなくコンソールから中国語を出力することができます.
コンソールから出力データはUnicode形式であり、使いやすいようにプロジェクトに新規作成する必要がある.mファイルFoundation+Log.m
#import
#import
@implementation UIView (Log)
+ (NSString *)searchAllSubviews:(UIView *)superview {
NSMutableString *xml = [NSMutableString string];
NSString *class = NSStringFromClass(superview.class);
class = [class stringByReplacingOccurrencesOfString:@"_" withString:@""];
[xml appendFormat:@"
", class, NSStringFromCGRect(superview.frame)];
for (UIView *childView in superview.subviews) {
NSString *subviewXml = [self searchAllSubviews:childView];
[xml appendString:subviewXml];
}
[xml appendFormat:@"%@>
", class];
return xml;
}
- (NSString *)description
{
return [UIView searchAllSubviews:self];
}
@end
#pragma mark - unicode
@implementation NSDictionary (Log)
- (NSString *)descriptionWithLocale:(id)locale {
NSMutableString *str = [NSMutableString string];
// {
[str appendString:@"{
"];
//
[self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[str appendFormat:@"\t%@ = %@,
", key, obj];
}];
// }
[str appendString:@"}"];
// ,
NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];
if (range.length) {
// ,
[str deleteCharactersInRange:range];
}
return str;
}
@end
@implementation NSArray (Log)
- (NSString *)descriptionWithLocale:(id)locale {
NSMutableString *str = [NSMutableString string];
// [
[str appendString:@"[
"];
//
[self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[str appendFormat:@"%@,
", obj];
}];
// ]
[str appendString:@"]"];
// ,
NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];
if (range.length) {
// ,
[str deleteCharactersInRange:range];
}
return str;
}
@end
このコードをFoundation+Logに入れると、Unicodeではなくコンソールから中国語を出力することができます.