相关疑难解决方法(0)

在设备上记录数据并检索日志

在Xcode中的调试版本中,无论我是使用模拟器还是实际设备,NSLog,printf,fprintf assert和NSAssert语句都出现在控制台上

如果我现在在设备上运行发布版本(比如说我发送了一个测试版本并在我的iPhone上加了大量的内容;这将是一个发布版本),其中哪些(如果有的话)被记录下来了?

我该如何检索日志?

NSLog实际上是否在发布版本上输出了什么?决定因素是什么?无论是写入stdout还是stderr?只有stderr写入设备日志?这是否意味着我必须使用fprintf?是否已将任何内容写入设备日志?甚至有这样的事情吗?如果是这样,如何捡起来?

有人可以澄清这种情况吗?

console xcode logging device ios

74
推荐指数
5
解决办法
8万
查看次数

如何将NSLog转换为文件

是否可以将每个NSLog不仅写入控制台,还可以写入文件?我想无需更换准备这个NSLogsomeExternalFunctionForLogging.

替换所有人将是真正的问题NSLog.也许有可能从控制台解析数据或捕获消息?

iphone objective-c ios

57
推荐指数
5
解决办法
5万
查看次数

iOS Swift:将打印和调试打印写入文件

晚上,是否可以将所有打印和调试打印保存在一个文件中?

即使不是从 Xcode 启动,我也想拥有我的应用程序所做操作的日志。

我正在考虑覆盖 print 和 debugPrint 方法并将输入写入文件。

谢谢

printing debugging xcode ios swift

5
推荐指数
2
解决办法
4528
查看次数

使用 freopen 将日志内容写入文本文件不适用于 Swift

我想将每个 print() 内容写入 Swift 3.0 中的文本文件中。它在 Objective-C 中运行良好,但在 Swift 3.0 中不起作用。我正在使用如下代码,

    func redirectLogToDocuments() {

    let docDirectory: NSString = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0] as NSString
    let logpath = docDirectory.appendingPathComponent("Logfile.txt")

    freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stdin)
    freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stdout)
    freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stderr)                
}
Run Code Online (Sandbox Code Playgroud)

请帮我。

iphone freopen ios swift

3
推荐指数
1
解决办法
2267
查看次数

标签 统计

ios ×4

iphone ×2

swift ×2

xcode ×2

console ×1

debugging ×1

device ×1

freopen ×1

logging ×1

objective-c ×1

printing ×1