“符号文件太多"提交应用程序时发出警告 [英] "Too many symbol files" warning when submitting app

查看:18
本文介绍了“符号文件太多"提交应用程序时发出警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将我的应用提交到应用商店并收到以下警告(不是错误):

I submitted my app to the app store and received the following warning (not error):

符号文件太多 - 这些符号没有对应的切片任何二进制 [XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.symbols,XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.symbols]

Too many symbol files - These symbols have no corresponding slice in any binary [XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.symbols, XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.symbols]

是什么导致了这个问题?我该如何解决?是否会导致向 Crashlytics 报告崩溃问题?

What caused this issue? How can I fix it? Will it create issues with crash reporting to Crashlytics?

推荐答案

我也遇到了同样的问题,这是发生这种情况的原因和解决方案.

Same problem occurred to me, and here is why this happening and the solution.

短版:由于项目设置不当,正在生成冗余的 dSYM 文件.就我而言,项目"由一个主要的 .xcproject 和几个 CocoaPods 项目组成,而后者的 Build Setting\Valid Architectures 设置比以前的.因此,Xcode 正在为该 pod 项目生成冗余的 dSYM 文件,而 Apple 检测到这些 dSYM 文件是无用的,因为主项目设置为更受限制的级别.

Short version: Redundant dSYM files are being produced due to improper project settings. In my case, the "project" consists of one major .xcproject and several CocoaPods projects, and the Build Setting\Valid Architectures setting of the latter one is more extensive than the former. Thus Xcode is producing redundant dSYM files for that pod projects and Apple detected those dSYM files is useless because the main project is set to a more constrained level.

一堆废话:

转到Window->Organizer 并选择您提交的存档版本并右键单击->在查找器中显示 找到该 .xcarchive 文件.然后使用 terminal 导航到 .xcarchive(它是一个类似 .app 的包)然后到 dSYMs 目录,运行 dwarfdump --uuid * 显示该 dSYM 文件的 uuid.检查投诉邮件中的 uuid 是否在列表中.电子邮件说那些 dSYM 文件是多余的,因此我们应该在构建存档时防止生成它们.

Go to Window->Organizer and select your submitting version of archive and right click->Show in finder to locate that .xcarchive file. Then use terminal to navigate into the .xcarchive(it's a bundle like .app) and then to the dSYMs directory, run dwarfdump --uuid * to show the uuids of that dSYM files. Check whether the uuid(s) in the complaining email are in the list. The email says those dSYM files are redundant, so we should prevent producing them when building the archive.

对我来说,我在我的应用程序中使用了 AFNetworking 和其他 3rd 方框架,它们通过 CocoaPods 添加到项目(或更准确地说是工作区)中.我需要保证我的应用不会安装在 iPhone5s 之前的任何设备上,所以我只在 Build Setting 中将 Valid Architectures 设置为 arm64我的项目.在这种情况下,我还应该为 Pod 项目目标设置相同的 Valid Architectures(根据您通过 Pod 添加的框架数量,可能有多个目标).通过这样做,Pods 项目在构建过程中不会产生冗余的 dSYM 文件.所有targets设置正确后,进入Product->Archive重新存档.您应该再次检查 dSYM 文件的 uuid,以防万一.

For me, I used AFNetworking and other 3rd party frameworks in my app, and they are added to the project(or workspace more precisely) via CocoaPods. I need to guarantee my app won't be installed on any device older than iPhone5s, so I set Valid Architectures to arm64 only in Build Setting of my project. In this case, I should also set Valid Architectures same for the Pod project targets(there may be several targets depending on how many frameworks you have added via Pods). By doing this, Pods project won't produce the redundant dSYM files during the build process. After all the targets are set properly, go to Product->Archive to re-archive. You should check the uuid(s) of dSYM files again just in case.

我希望我自己理解:)

I hope I have myself understood :)

这篇关于“符号文件太多"提交应用程序时发出警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆