UIPageControl crash
今天查看 Bugly crash 日志发现新增了一个bug,发生了10多次,表示差异,查看了一下日志发现全部是发生在iOS 14系统上面,看来追新的用户还是大有人在啊,错误日志如下:
由此可以看出是UIPageControl使用KVC的方式给某个属性赋值导致的crash,打开项目很快就找到了问题代码:
使用KVC的方式给UIPageControl的_pageImage和_currentPageImage属性赋值以实现UIPageControl设置图片,这种方式在iOS 14一下系统上没有任何问题,但在iOS14上居然发生了crash,情况比较紧急,简单做了修改如下:
为了校验问题,把测试机升级到了iOS 14 Bate版,发现Xcode11.5无法真机调试,又下载了iOS14.0-beta1 真机调试包,通过测试确认在iOS 14.0上运行正常。
附上链接: 百度云盘地址 提取码: etwq
关于如何导入真机调试包
- 找到Xcode应用程序,查看包内容,逐步找到DeviceSupport所在路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- 把真机调试包解压到DeviceSupport文件夹下
- 完全退出Xcode,重新启动,真机调试包生效,iOS 14系统可以正常运行调试了
Xcode对不同系统版本的支持 (~/Library/Developer/Xcode/iOS DeviceSupport)
每次添加新的调试包,真机调试都要等很长时间来安装这个系统版本的调试文件,而且文件会占很大存储空间,2G左右,通常我们会删除一些不常用的调试文件来节省空间,因为即使删了调试文件,只要真机调试包还在,下次运行时Xcode会再次自动下载调试文件的。
最新真机包下载地址:github.com/ywdonga/Dev…