ios - iOS CocoaLumberjack:如果启用了 backgroundModes 并且应用程序在模拟器中运行,则每次启动应用程序时都会创建新的日志文件
问题描述
我已经配置了如下库
let fileLogger: DDFileLogger = DDFileLogger()
fileLogger.rollingFrequency = -1
fileLogger.maximumFileSize = 1024 * 1024
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
DDLog.add(fileLogger)
文件只有在达到1MB
大小时才需要滚动。最近我观察到一件事,如果应用程序在启用了后台模式的模拟器中运行。无论文件大小如何,每次应用启动时都会创建新的日志文件。这是已知的事情吗?因为在课堂上的内部条件NSFileProtectionType
为零。但它在设备中运行良好doesAppRunInBackground()
DDFileLogger.m
解决方案
尝试设置
fileLogger.logFileManager.maximumNumberOfLogFiles = 1;
如果这不起作用,请尝试在 DDFileLogger.m 类中设置NSFileProtectionType
为 true 或 1 内部函数。doesAppRunInBackground()