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

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

问题描述

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

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

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

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并选择归档的提交版本,然后选择right click-> Show in finder来找到该.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和其他第三方框架,并通过CocoaPods将它们添加到了项目(或更精确地说是工作区)中.我需要保证我的应用程序不会安装在iPhone5s之前的任何设备上,因此我仅在项目的Build Setting中将Valid Architectures设置为arm64.在这种情况下,我还应该为Pod项目目标设置Valid Architectures相同(可能有多个目标,具体取决于您通过Pods添加的框架数量).这样,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天全站免登陆