gpt4 book ai didi

iphone - 使用 Objective C 读取发布到设备控制台的日志消息

转载 作者:IT王子 更新时间:2023-10-29 07:47:40 26 4
gpt4 key购买 nike

我的 iOS 应用程序如何从设备控制台日志中读取消息。我想以编程方式阅读这些日志条目(比如阅读文件?),选择一些,然后通过电子邮件发送给支持人员。

我知道有一款 iPhone 应用程序可以让您查看日志。它的名字是控制台。但是,我无法弄清楚他使用了哪些类或API。有人建议它是使用 ASL 函数完成的,但我不知道这些是什么,也不知道它们记录在何处。

我也知道使用 NSLog 的几种替代方法,例如 NSLogger 和 CocoaLumberJack,但我们目前还没有准备好实现这些方法。

非常感谢您的帮助!

最佳答案

This entry Cocoanetics 博客中的示例代码使用 ASL(Apple 系统记录器)API (man page) 访问 iOS 上的系统日志:

aslmsg q, m;
int i;
const char *key, *val;

q = asl_new(ASL_TYPE_QUERY);

aslresponse r = asl_search(NULL, q);
while (NULL != (m = aslresponse_next(r)))
{
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];

for (i = 0; (NULL != (key = asl_key(m, i))); i++)
{
NSString *keyString = [NSString stringWithUTF8String:(char *)key];

val = asl_get(m, key);

NSString *string = [NSString stringWithUTF8String:val];
[tmpDict setObject:string forKey:keyString];
}

NSLog(@"%@", tmpDict);
}
aslresponse_free(r);

请注意,您需要轮询 ASL 才能阅读最新消息。上面的代码在 iPhone 模拟器上运行时也会失败,但在实际设备上运行得很好。

如果您不想对抗 C ASL API,请查看这个名为 ASLogger 的 Objective-C 包装器.

关于iphone - 使用 Objective C 读取发布到设备控制台的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6144347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com