首页 > 解决方案 > 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

标签: iosswiftcocoalumberjackddfilelogger

解决方案


尝试设置

fileLogger.logFileManager.maximumNumberOfLogFiles = 1;

如果这不起作用,请尝试在 DDFileLogger.m 类中设置NSFileProtectionType为 true 或 1 内部函数。doesAppRunInBackground()


推荐阅读