"Too many symbol files" after successfully submitting my apps
This happens if you are including debug information of your libraries with the project archive but are not including binaries.
- Open the Organizer window in Xcode
- Right-click on an archive that had this issue and select "Show in Finder".
- Right-click on the archive file and select "Show Package Contents"
In the "dSYMs" folder you will see several files. If you run the
dwarfdump
console command on these files you will get a list of UUID strings:dwarfdump -u MyFile.dSYM
I'm sure you will find some matching UUIDs from Apple's email.
To avoid this warning you need to include with your archive only the dSYM
files of your application and not the libraries. For this you need to change the build configuration of the libraries to not generate a dSYM
file. Just search for "debug information format" in configuration and change it from DWARF with dSYM File
to DWARF
only.
For example, in the screenshot below you will find the Stripe iOS framework.
If you encountered this problem while using CocoaPods, add this to your Podfile:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf' end endend
It will set Debug Information Format to DWARF only for all your Pod targets only (not the main app target)
If you are using CocoaPods and your app is set to use arm64 only (i.e. there is only arm64 in your project's info.plist)
<key>UIRequiredDeviceCapabilities</key><array> <string>arm64</string></array>
then you can try adding the following script in your Podfile to solve this issue.
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' config.build_settings['ARCHS'] = 'arm64' end endend
AND
set all your projects' targets (not the targets in Pods) to arm64 only