闪退
文章平均质量分 57
郏国上
Object C, JavaScript, python高级研发工程师
展开
-
dispatch_after引起的内存释放异常闪退
dispatch_after 要慎用,避免页面返回时,内存不能正常释放,导致闪退。iPhone6 iOS13系统手机闪退。进入B页面发送一个请求,在请求响应回来后使用dispatch_after延迟发送另一个请求,估计是为了解决请求小菊花显示问题。结果就出现了闪退。分析:当你把这个block加入主进程队列,结果你的页面返回上一个页面,就可能出现内存释放异常。所以建议别采用这种方式连续发送请求。慎用或不用dispatch_after。原创 2021-06-30 13:53:14 · 606 阅读 · 0 评论 -
单步调试报错 Thread 1: EXC_BAD_ACCESS (code=1, address=0x6565656565)
错误使用window引起的内存释放异常而闪退问题我们经常会碰到app突然crash掉的现象,当出现thread 1:exc_bad_access(code=1,address=0x6565656565)的提示时,这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的。原创 2021-06-25 16:22:05 · 5701 阅读 · 2 评论 -
把键值对的值为NSNumber类型的数据转换成标准字符串
苹果客户端接到后台的数据,要转换成对象,然后才能使用。而有的初学者或比较懒的人可能直接那后台放回的结果不进行对象转换直接使用,甚至无论是什么类型的数据都按照字符串处理,使用时再转换为数字等接口定义的类型。若后后台返回的是NSNumber类型,而这种懒惰性写法会直接造成闪退。最佳的解决方案是:客户端把后台返回数据通过MJExtension第三方库进行对象转换,不直接使用后台数据。iOS客户端在网络请求组件底层对接收的结果,扫描键值对的值是否是NSNumber类型,若是就转换成标准字符串。原创 2021-06-25 12:02:18 · 462 阅读 · 1 评论 -
闪退日志的同步写入文件记录
在AppDelegate.m(有的app含有C++代码是AppDelegate.mm)文件的`- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions`增加异常捕获。注意:捕获日志一定要在`[self.window makeKeyAndVisible];`之后,不然可能你捕获不到异常。原创 2021-06-24 17:14:33 · 533 阅读 · 0 评论 -
this code must be changed as there‘s no longer a status bar or status bar window.
Name: NSInternalInconsistencyException, Reason: App called -statusBar or -statusBarWindow on UIApplication: this code must be changed as there's no longer a status bar or status bar window. Use the statusBarManager object on the window scene instead.原创 2021-06-24 14:40:42 · 894 阅读 · 0 评论 -
如何导出iPhone手机中app共享文件夹的文件与闪退日志的收集
如何导出iPhone手机中app共享文件夹的文件。本文以app中记录的闪退文件日志例子。只能捕获非内存方面的闪退。闪退日志获取方法。1.手机连接苹果电脑;2.打开itunes音乐播放器;3.选中左侧的连接设备的手机;4.点击右上角的同步设置;5.在弹出的窗口点击位置下面的连接手机;6.点击右上角的文件;7.点击写文件的app(这里以闪退日志文件为例);8.鼠标点击crash文件不放拖动到电脑文件夹;9.把拷贝出的文件夹的文件发给开发就能定位闪退问题了。原创 2021-06-23 15:17:32 · 1385 阅读 · 0 评论