"Too many symbol files" after successfully submitting my apps

IosXcodeApp StoreXcodebuildApp Store-Connect

Ios Problem Overview


I downloaded Xcode 6 GM and submitted two Swift apps to the app store today. Both passed all pre-upload verification and all the other stuff they had to pass and were successfully submitted. But then I got two emails from Apple... one for each program and they both said this:

> Dear developer, > > We have discovered one or more issues with your recent delivery for "xxxxxxxx" (my app name removed). Your delivery was successful, but you may wish to correct the following issues in your next delivery: > > Too many symbol files - These symbols have no corresponding slice in any binary [1431D977-72BC-308F-AB71-71529F25400B.symbols, 158C72A7-98AC-3F07-B2BE-88427591B413.symbols, 44973EAC-563E-340C-B549-55A5014A68BA.symbols, 678BF06F-0C3D-3A09-BFBF-699C7079FECD.symbols, 90907DDB-0400-38ED-BB5F-0C12333C0624.symbols, 93B79949-5757-374A-97B9-825AE1A61B7D.symbols, ABA05220-4FB0-397F-AFBB-08774A82F4CA.symbols, AD70F02A-4422-32B8-8C40-CF9B45A2CCC6.symbols, B0CC9F7D-C542-3E18-A518-B28B7ECABE80.symbols, BF6A4C3B-6FA5-3C51-8404-19C2F132458D.symbols, C9D6E078-8E2A-39D9-8DEE-476916A69CEE.symbols, CF5320DF-AB31-3845-BAD5-F6E51045D396.symbols, D4967AA3-8FB0-3712-B0DE-7F4144AF8F4B.symbols, D813B314-AD37-31D4-B675-442052994495.symbols, DF42A13F-08D8-3E71-B221-FC357E0B60F5.symbols, F5F636C2-F0E0-3CA7-8F7D-C49A36CD5C65.symbols] > > After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect. > > Regards, > > The App Store team

I'm going to guess that really has nothing to do with me or my apps... and it is just a quirk of day one Swift app submissions? Both apps are still sitting in "Waiting for approval" mode. I certainly can't think of anything I could change to make what they said go away! Anyone else submit a Swift app yet and get that response? Think I should just ignore it and wait to see what happens?

Ios Solutions


Solution 1 - Ios

This happens if you are including debug information of your libraries with the project archive but are not including binaries.

  1. Open the Organizer window in Xcode

  2. Right-click on an archive that had this issue and select "Show in Finder".

  3. Right-click on the archive file and select "Show Package Contents"

  4. 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.

Xcode project settings screenshot

Solution 2 - Ios

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
    end
end

It will set Debug Information Format to DWARF only for all your Pod targets only (not the main app target)

Solution 3 - Ios

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
  end
end

AND

set all your projects' targets (not the targets in Pods) to arm64 only

Xcode project settings

CocoaPods Github issue reference

Solution 4 - Ios

I have this issue due to the project has valid architecture arm64 where the CocoaPods targets have valid architecture arm64, armv7 and armv7s.

To check which target has which valid architecture follow following steps

  1. In Xcode -> Window -> Organizer

  2. Select the archive and Reveal in Finder

  3. On .xcarchive file, Show package content

  4. Open terminal and give path of dSYMs folder.

  5. Enter command dwarfdump --uuid * and it will show list of UUIDs with valid architectures.

The UUID will match with Apple's warning email

The main project and cocoa pods target suppose to have same valid architecture. By doing this, it will solve the issue.

Solution 5 - Ios

Worked for me by enabling bitcode - it was off before

Enable Bitcode - Yes

enter image description here

Solution 6 - Ios

The above helped troubleshoot, but couldn't solve. We had project at iOS 12 but pods 10 - led to a bunch of armv7 files. Updating pod to iOS 12 solved instantly.

Solution 7 - Ios

Had the same problem fixed it by having the same "General" => "Deployment info" => "Deployment target" for all my targets.

Solution 8 - Ios

> In Xcode, look in Build Settings for “Strip Debug Symbols During Copy” > (COPY_PHASE_STRIP). When enabled, debug symbols are omitted from your > .app and placed into a .dSYM file. Otherwise your .app contains these > symbols. (By default, debug symbols are stripped from release builds > for reasons of obfuscation. You probably shouldn’t change this setting > for the release configuration.)

Make sure you check this option in project Build Settings

https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/

Solution 9 - Ios

The problem for me was a line in my build.xcconfig file. I had to remove

IPHONEOS_DEPLOYMENT_TARGET = 11.0

which was setting the project to only build for arm64 (and not arm7). Following the steps by @miOS I could see that the pods project was building for both.

Solution 10 - Ios

For me everything was very simple. I had the same problem and didn't know what to do for a week.

After you submit an archived application, you will see certificate for distribution in small popup window. There is a checkbox after it, which you should uncheck. After that you will submit it and get an email about symbol files. BUT it isn't problem. It's just a warning; not an error! If you uncheck that checkbox, your app will be sent correctly. I hope it may help you.

Screenshot of the checkbox and the popup:

Screenshot of the checkbox and the popup

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJim BarberView Question on Stackoverflow
Solution 1 - IosMikhail GrebionkinView Answer on Stackoverflow
Solution 2 - IosDenis KutlubaevView Answer on Stackoverflow
Solution 3 - IosJerry ChenView Answer on Stackoverflow
Solution 4 - IosmiOSView Answer on Stackoverflow
Solution 5 - IosTarun SeeraView Answer on Stackoverflow
Solution 6 - IosdreesView Answer on Stackoverflow
Solution 7 - IosARRView Answer on Stackoverflow
Solution 8 - IosSanad BarjawiView Answer on Stackoverflow
Solution 9 - IosFrankView Answer on Stackoverflow
Solution 10 - IoslendenView Answer on Stackoverflow