gpt4 book ai didi

ios - 恢复过去的 NSLog

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:17 25 4
gpt4 key购买 nike

几天前,使用我的应用程序的测试人员遇到了一个看似无法重现的错误。我相信我的应用程序记录的 NSLogs 可能会提供有关该问题的信息,但 Xcode Organizer 控制台仅记录前 260 行左右。设备上是否有一些日志文件提供更多的 NSLogs?测试人员有一台越狱设备,因此访问根目录应该不是问题。

最佳答案

为什么不用PList来存储日志呢?

我开发了一些基于位置的应用程序。我总是需要在特定区域周围行驶以测试位置更新区域监控等的准确性。我将这些日志存储到一个 PList 中,然后我将分析这些日志在我完成运行后在 PList 上。

示例代码:

-(void)addLocationToPList{

NSString *plistName = [NSString stringWithFormat:@"Location.plist"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *fullPath = [NSString stringWithFormat:@"%@/%@", docDir, plistName];

NSMutableDictionary *savedProfile = [[NSMutableDictionary alloc] initWithContentsOfFile:fullPath];

if (!savedProfile){
savedProfile = [[NSMutableDictionary alloc] init];
self.shareModel.myCurrentLocationArray = [[NSMutableArray alloc]init];
}
else{
self.shareModel.myCurrentLocationArray = [savedProfile objectForKey:@"locationArray"];
}

if(self.shareModel.myBestLocationDictFromTracker)
{
[self.shareModel.myCurrentLocationArray addObject:self.shareModel.myBestLocationDictFromTracker];
[savedProfile setObject:self.shareModel.myCurrentLocationArray forKey:@"locationArray"];
}

if (![savedProfile writeToFile:fullPath atomically:FALSE] ) {
NSLog(@"Couldn't save Location.plist" );
}
}

只要有位置更新,我就会调用上述函数将位置添加到 PList。您可以根据您真正需要记录的内容以任何方式使用它。

我认为它比 Organizer Console 日志好得多,因为您可以提取 PList 并在您的 Mac 上保留一份副本以供将来分析等。我正在使用 iFunBox访问/提取 PList。

关于ios - 恢复过去的 NSLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24028626/

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