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

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

问题描述

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

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和几个cocoapod项目组成,后者的 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 cocoapod 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.

Bunch废话版本

转到窗口 - > 管理器并选择您提交的存档版本和右键单击 - > 在Finder中显示以找到它。 xcarchive文件。然后使用 terminal 导航到.xcarchive(它是像.app这样的包),然后导航到 dSYMs 目录,运行 dwarfdump --uuid * 以显示该dSYM文件的uuids。检查投诉电子邮件中的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和其他第三方框架,并通过CocoaPods将它们添加到项目(或工作区中)。我需要保证我的应用程序不会安装在任何早于iPhone5s的设备上,所以我将有效架构设置为 arm64 仅在我的项目的构建设置中。在这种情况下,我还应该为 Pod 项目目标设置有效架构相同(可能有几个目标取决于您通过Pod添加了多少个框架)。通过这样做, Pods 项目将不会在构建过程中生成冗余dSYM文件。在所有目标设置正确后,转到产品 - > 存档重新存档。为了防万一,你应该再次检查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天全站免登陆