一、Mac 控制台
Xcode工程其实是可以用命令行来build的,这样就可以用命令行编译出.app
的文件,然后就可以打成ipa
包。
整个流程做到自动化后,就可以方便的做每日的 daily build
,便于产品和测试同事跟进进度!
系统日志App即:控制台 Console.app
可以直接看苹果文档:欢迎使用控制台 - Apple 支持
系统控制台二、CocoaLumberjack 日志收集
CocoaLumberjack 是一个快速、简单,但很强大的日志框架,用于 Mac OS X 和 iOS 系统。
在大多数用例中,Lumberjack比NSLog快了一个数量级。
Log分为以下几种,分别代表不同的等级:
DDLogError
DDLogWarn
DDLogInfo
DDLogDebug
DDLogVerbose
严重度:
DDLogError
>DDLogWarn
>DDLogInfo
>DDLogDebug
>DDLogVerbose
语法
static const DDLogLevel ddLogLevel = DDLogLevelDebug;
`DDLog`语法跟`NSLog`语法一摸一样
# NSLog
NSLog(@"Broken sprocket detected!");
NSLog(@"User selected file:%@ withSize:%u", filePath, fileSize);
# DDLog
DDLogError(@"Broken sprocket detected!");
DDLogVerbose(@"User selected file:%@ withSize:%u", filePath, fileSize);
github库:CocoaLumberjack
导入pod库:pod 'CocoaLumberjack'
使用配置:
#pragma mark 日志处理:CocoaLumberjack
- (void)configurationCocoaLumberjack {
// Uses os_log
//[DDLog addLogger:[DDASLLogger sharedInstance]]; //iOS10之前
[DDLog addLogger:[DDOSLogger sharedInstance]]; //iOS10之后
[DDLog addLogger:[DDTTYLogger sharedInstance]];
DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
[DDLog addLogger:fileLogger];
}
使用CocoaLumberjack,出现问题:Use of undeclared identifier 'ddLogLevel'
解决方案:
在 pch文件添加以下配置
#ifdef __OBJC__
// 配置头文件
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <CocoaLumberjack/CocoaLumberjack.h>
// 老版本不可用
//#ifdef DEBUG
// static const int ddLogLevel = LOG_LEVEL_VERBOSE;
//#else
// static const int ddLogLevel = LOG_LEVEL_WARN;
//#endif
// 使用新版本
#ifdef DEBUG
static const DDLogLevel ddLogLevel = DDLogLevelVerbose;
#else
static const DDLogLevel ddLogLevel = DDLogLevelWarning;
#endif
#endif
网友评论