最近需要测试APP在iPhone没连接USB情况下定位时间间隔的情况,固把nslog的日志信息保存成本地Plist文件,以便测试结束后查阅运行时的日志。

一、新建一个保存日志的方法,参数为每次定位成功的时间(作为key),定位成功的地点(作为value):

-(void)mylog:(NSString*)logKey andValue:(NSString*)logValue{NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectroy = [paths objectAtIndex:0];NSString *filename =@"test2.plist";NSString *filePath = [documentsDirectroy stringByAppendingPathComponent:filename];NSLog(@"filePath:%@",filePath);NSFileManager *file =  [NSFileManager defaultManager];NSMutableDictionary *dic;if ([file fileExistsAtPath:filePath]) {dic = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];}else{dic = [[NSMutableDictionary alloc] init];}[dic setValue:logValue  forKey:logKey];[dic writeToFile:filePath atomically:YES];
}

二、在定位成功时调用mylog函数,以保存定位成功的信息:

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{nowLocation = [locations lastObject];CLLocation *locationGCJ = [nowLocation locationMarsFromEarth];coordinate = locationGCJ.coordinate;CLGeocoder *geoCoder = [[CLGeocoder alloc] init];[geoCoder reverseGeocodeLocation:locationGCJ completionHandler:^(NSArray *placemarks, NSError *error) {if(placemarks.count > 0) {CLPlacemark *placemark = [placemarks objectAtIndex:0];address =placemark.name;NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSString *destDateString = [dateFormatter stringFromDate:[NSDate date]];[self mylog2:destDateString andValue:placemark.name];}}];
}

三、分别让APP在模拟器和真机跑了一段时间后,我们来查看下保存的日志信息:

1、模拟器:通过my log函数里打印的文件地址 (我的为:filePath:/Users/jackxu/Library/Developer/CoreSimulator/Devices/B24F5E52-CB0D-41DF-8623-8CEDF21206FC/data/Containers/Data/Application/F61B5D71-1BD5-49D6-8B32-628E03434A8C/Documents/test2.plist),选择finder->前往->前往文件夹,输入地址就行可访问,如图:



2.真机:真机下载一个 iPhone Explorer,(下载地址:http://www.macroplant.com/iexplorer/),就可以查看真机的文件系统,如图:


iOS通过Plist保存离线调试日志相关推荐

  1. 使用 Xcode 在越狱 iOS 设备上进行开发调试

    1 目的 2 iOS 设备的设置 3 生成私有签名 4 设置 Xcode 4.1 告诉 Xcode 不需要签名 4.2 告诉 Xcode 不用做签发动作 4.3 指示 Xcode 使用私有签名签发 A ...

  2. scrapy离线调试本地HTML文件

    有时使用爬虫的时候会把网页抓下来然后本地调试,所以今天写一篇博客记录一下整个流程: 目录 1.抓取网页保存到本地 2.离线调试 1.抓取网页保存到本地 # 在Scrapy爬虫类的parse函数中使用 ...

  3. 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。

    24-Jul-2022 17:18:15.259 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.s ...

  4. chrome inspect 离线调试-工具包 怎么使用

    1.找到相关目录: C:\Users\当前用户\AppData\Local\Google\Chrome\User Data\Default 2.找到以下文件夹: 1.Application Cache ...

  5. paip.提升效率--调试--日志系统日志参数含义---python

    paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...

  6. nginx 学习笔记(5) nginx调试日志

    为启动一个调试日志,nginx需要在构建时配置城支持调试模式. ./configure --with-debug ... 而且调试级别应该使用err_log指令来设置: err_log /path/t ...

  7. 小明分享|LVGL调试日志

    LVGL仿真调试日志-内存溢出 错误日志: Warn: Couldn't allocate memory (lv_mem.c #208 lv_mem_alloc()) Warn: Couldn't a ...

  8. 蜗牛爱课- iOS中plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取功能创建一个test.plist文件 -(void)triggerStorage {     NSArray *paths=NSSearchPathForDir ...

  9. java servlet 调试日志 logger sae_java servlet 调试日志 lo

    java servlet 调试日志 lo [2021-02-10 08:32:08]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace( ...

最新文章

  1. 预处理器Less和Sass
  2. 文巾解题 面试题 01.04. 回文排列
  3. VTK:绘图之BoxChart
  4. 2020idea创建web项目_Spring Boot + Mybatis 多模块(module)项目的完整搭建教程
  5. js text 和 html,JS DOM innerText和textContent的区别
  6. set_include_path函数应用
  7. time和datatime模块
  8. 使用idea的的第一个坑-----javax.xml.ws.WebServiceRef
  9. 阿里旺旺2012自动登录
  10. Java 随机生成MAC地址
  11. vue 移动端剪裁
  12. 多项创新功能驱动,Galaxy S9必将引爆2018智能手机市场
  13. 代码解放,一个智能化的「云控制台」如何运转?
  14. 一节计算机课英语,电脑课的英语
  15. [P1860]新魔法药水
  16. python分析方向的第三方库_Python标准库与第三方库详解
  17. JQuery突出显示效果
  18. 设计一下类似SpringIoC的注入工具~Lind.DI
  19. 话说“软件测试”都是吃青春饭,可是为什么仍有那么多人转行做“软件测试”呢?
  20. LabVIEW生成.NET的DLL——C#下调用NI数据采集设备功能的一种方法 [原创www.cnblogs.com/helesheng]

热门文章

  1. D3.js、HTML5、canvas 开发专题
  2. 蓝桥杯-搭积木-java
  3. Tiny4412 Uboot
  4. linux 串口minicom配置使用
  5. Intent携带额外的数据的方法
  6. 堆和栈的区别(面试经验总结)
  7. expires与etag控制页面缓存的优先级
  8. MFC给按钮添加皮肤
  9. FAST-CGI安装与使用
  10. 使用纯C++实现SQL Server2005 数据库读写操作详细步骤