2021.4.12

记录一次iOS上架被拒

审核被打回提示Guideline 2.1 - Performance - App Completeness

这个问题是编译崩溃,无法运行,在苹果官方回给你的邮件下面

会把错误日志一起给你,我们需要的就是通过这个去发现错误到底在哪里
在我们打开这个错误日志的时候会发现crashed,就是崩溃的地方,但是都是二进制的地址

这时我们需要解析carsh文件

1:我们把苹果返回给我们的carsh文件保存到本地,用.Carsh类型
2:找到Xcode 自带的 symbolicatecrash工具来解析 .crash 文件
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 

2:找到跟 .crash 文件对应的 .xcarchive 文件(我们打包上线的那个包里面)

dSYMs文件夹里的.dSYM

把这些全都放到一个文件夹下面,输入命令后

cd /Users/admin/Desktop/你的文件夹名字
./symbolicatecrash ./MyAppName.crash ./MyAppName.app.dSYM > MyAppCrash.log

myappname就是你对应的app相关文件名字,对应改一下,最后的.log文件就是我们生成的可以看的文件

如果提示 "DEVELOPER_DIR" ,则需要接着在终端输入
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
这时就可以看到我们的log文件里室友东西的了


这时我们再看刚才的报错就一目了然了,发现在调用百度地图时返回的代理方法中数组操作越界的问题,在BaiduMapLoction.m文件的197行

打开发现果然是有个数组在进行操作,我们在这上面加一个非空判断即可
虽然测试几遍并没有问题,之前更新也没出现这个问题,应该是在美国审核人员允许app位置授权后,百度的地图无法正确拿到或者无法拿到值,所以才导致崩溃
在进行修改后重新打包审核,第二天就过了
以此记录

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 提交审核后APP store给出了crash崩溃日志,一长串的十六进制,如何查看这个crash日志呢。 1.在桌面...
    道无为_0092阅读 1,913评论 0 1
  • 最近遇到测试给到ips文件,在此记录下ips文件符号化的步骤。 第一步:导出ips文件 方法就是在手机里找到设置-...
    一只小蜘蛛_阅读 2,646评论 0 2
  • 1、描述 平时在ios开发过程中不管是开发人员还是测试人员,都会遇到APP崩溃的情况,这个时候就要求开发者集成一些...
    男儿心阅读 14,490评论 1 11
  • 确需要的文件 symbolicatecrash /Applications/Xcode.app/Contents/...
    树袋熊老公阅读 532评论 0 0
  • 软件开发完成后虽然经历了相当多的测试,但是谁都不可能保证项目不会出现任何问题,所以偶尔出现Crash问题也是正常的...
    悟2023阅读 1,428评论 0 1