欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS-iOS9系统SEGV_ACCERR问题处理【v3.6.3的一些bug修复】

程序员文章站 2022-10-05 07:58:14
前言 最近APP不断地更新版本,却发现一些未知的错误导致崩溃,我把能测出来的错误,全部修复了,因为项目里集成了腾讯Bugly,看了下后台的崩溃,依旧千篇一律啊,然后就纠结了,很多SEGV_ACCERR的错误问题,看了下机型统计,98%的崩溃来自于iOS9系统;还有一些适配时iPad出现的错误,当然i ......

前言

最近app不断地更新版本,却发现一些未知的错误导致崩溃,我把能测出来的错误,全部修复了,因为项目里集成了腾讯bugly,看了下后台的崩溃,依旧千篇一律啊,然后就纠结了,很多segv_accerr的错误问题,看了下机型统计,98%的崩溃来自于ios9系统;还有一些适配时ipad出现的错误,当然ipad错误很明显;

ios9 segv_accerr问题处理


1、打包app并导出ipa。

2、将导出的ipa文件后缀名改为.zip。

3、解压该zip文件,解压后有一个payload文件夹,该文件夹中是你的app bundle。

4、打开终端,定位到该app bundle。命令如下:cd path/payload/xxx.app

5、使用find命令查找到assets.car文件。命令为:find . -name 'assets.car

6、使用assetutil命令找到任何包含着16-bit或者p3的资源文件。对上一步找出的每个assets.car执行如下命令:sudo xcrun --sdk iphoneos assetutil --info /path/assets.car > /tmp/assets.json

7、第6步里面有两个路径,第一个路径/path/assets.car不要照抄,替换为第五步中查找出的路径。

8、使用open命令打开第六步生成的assets.json。命令为:open /tmp/assets.json

9、在第7步打开的文件中查找p3字段,对应的name字段即为该资源的名称,删除相应资源,或者修改文件格式即可。

在删除了含有伽马值 p3的资源图片以后,这个问题几乎没有了!


 

ipad适配问题【uialertcontroller】

/**
 此处为适配ipad
*/
if ([alertvc respondstoselector:@selector(popoverpresentationcontroller)]) {
     alertvc.popoverpresentationcontroller.sourceview = self.view; //必须加
     alertvc.popoverpresentationcontroller.sourcerect = cgrectmake(0, scr_height, scr_width, scr_height);
 }

 

借鉴: