Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – XCGLogger 3.0不会将logfile写入文件系统(iOS 9)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想使用XCGLogger 3.0在用 Swift 2编写的iOS9应用程序中进行日志记录.在AppDelegate中,我定义 let log = XCGLogger.defaulTinstance() 并在应用程序中:didFinishLaunchingWithOptions我使用以下命令进行设置: log.setup(.Debug, showThreadName: true, showLogL
@H_673_6@
@H_673_6@
我想使用XCGLogger 3.0在用 Swift 2编写的iOS9应用程序中进行日志记录.在AppDelegate中,我定义

let log = XCGLogger.defaulTinstance()

并在应用程序中:didFinishLaunchingWithOptions我使用以下命令进行设置:

log.setup(.Debug,showThreadName: true,showLogLevel: true,showFilenames: true,showLine@R_450_10793@ers: true,writeToFile: "/tmp/app.log",fileLogLevel: .Debug)

当我在模拟器中启动应用程序时,我在XCode 7的控制台中看到了XCGLogger的输出.输出是:

但是,当我查看正确的模拟器实例的沙箱文件系统(使用SimPholders2)时,没有日志文件app.log.

当我在我的iPhone 6上启动应用程序时更糟糕.XCode控制台中的输出是:

我也尝试了不同的方法,如“/tmp/app.log”,“Library / Caches / de.myidentifier.myapp / app.log”,“/ Library / Cache / de.myidentifier.myapp / app.log”等.没有成功…

我究竟做错了什么?

解决方法

在iOS上,您不能只写入/ tmp文件夹.您需要确保路径位于应用程序的沙箱中.

为此,您需要向系统询问缓存目录. XCGLogger中的示例应用程序包含执行此操作的代码,但我也将其包含在此处.

试试这个:

let cacheDirectory: NSURL = {
    let urls = NSFileManager.defaultManager().URLsForDirectory(.CachesDirectory,inDomains: .UserDomainMask)
    return urls[urls.endIndex - 1] 
}()
let logPath: NSURL = cacheDirectory.URLByAppendingPathComponent("app.log")
log.setup(.Debug,writeToFile: logPath,fileLogLevel: .Debug)

大佬总结

以上是大佬教程为你收集整理的swift – XCGLogger 3.0不会将logfile写入文件系统(iOS 9)全部内容,希望文章能够帮你解决swift – XCGLogger 3.0不会将logfile写入文件系统(iOS 9)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
猜你在找的Swift相关文章