Xcode archive not creating DSYM file
Asked Answered
C

7

26

For most of my projects, I setup an "archive" scheme to archive my project, creating an IPA and DSYM that I can upload to TestFlight.

However, I'm working on a more complicated project that has several targets within the project workspace, quite a few static linked libraries. I have gone through each target and set the following for all configurations:

  • Deployment Postprocessing -> NO
  • Strip Linked Product... -> No
  • Strip Debug... -> No
  • Generate Debug Symbols -> Yes
  • Debug Information... -> DWARF with DSYM

I am using Xcode 4.5.2. I have done this for multitudes of projects with no issues. This is the first where something seems to be preventing the DSYM file from being created.

No matter what I try, my archive build will not generate a .DSYM file

Carnal answered 28/12, 2012 at 21:3 Comment(1)
In Xcode 10.0 dSYM files are stored in Derived Data - check Archive log in Report Navigator (cmd+9) as mentioned here: https://mcmap.net/q/521923/-xcode-archive-not-creating-dsym-file. In my case dSYM file was here: /Users/USER_NAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-amlcnmxbghcsrcfrhbmvsfyjbins/Build/Intermediates.noindex/ArchiveIntermediates/PROJECT_NAME/BuildProductsPath/TARGET_NAME-iphoneos/APP_NAME.app.dSYMArredondo
P
8

Identifying the problem

As @belsokar suggested, check the Report Navigator. In my case, the dSYM file has not been generated, and there hasn't been a corresponding line that goes like "Generate Appname.dSYM ...in {path}" But there's been Fabric installed, and it logged the fact of the dSYM file's absence:

no dsym

Just filer the Report Navigator by "dSYM".

Fixing

In my case I've just had to do what I'm asked of:

DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for ALL configurations.

Also, it may turn out that dSYM file is being generated in an unexpected place. Check environment variables, especially DWARF_DSYM_FOLDER_PATH and DWARF_DSYM_FILE_NAME.

To embed the dSYM within the app bundle, just set DWARF_DSYM_FOLDER_PATH to $(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_FOLDER_PATH) and DWARF_DSYM_FILE_NAME to $(EXECUTABLE_NAME).dSYM

Checking

Now the build should create dSYM for your target

generate target.dSYM

Proteose answered 14/7, 2016 at 15:6 Comment(0)
S
7

xcode - > product -> Archive

you see Archives window

1 Select any Archives of your app Right click on it Then select show in finder

2 you see aapname.xcarchive file Right click on it and select show package contents

3 you see dSYMs folder open it and get .dSYM file

:)

Scurrile answered 27/4, 2016 at 10:50 Comment(4)
This applies only if dSYM has in fact been generated, and in an expected place.Proteose
Answer really needs to be removed. The question isn't "where to find dSYM?"Reiss
@Reiss if you not like it's ok . but its helps some other user's that's why they give me point's.Scurrile
I was going to add the same answer, just +1ed yours. :)Keepsake
A
6

Try using: Deployment Postprocessing -> YES

check this out: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

Alcaraz answered 22/5, 2013 at 2:1 Comment(2)
Confused at this... "Specifies whether the binary receives deployment postprocessing. Deployment postprocessing involves stripping the binary, and setting its file mode, owner, and group." ... Doesn't that mean setting this to YES would strip the binary?Doreathadoreen
Anybody, please, describe how can it be related to dSYMs!Robledo
C
0

A few tips for researching.

  • Check the Log Navigator. I went into this view (one I rarely use so I tend to forget it exists), and I realized the .DSym file was in fact being created.

  • Check build directory configs to see if they are default or custom...in my case, they were custom, so they weren't being put in the typical default location.

Carnal answered 2/1, 2013 at 9:12 Comment(2)
The Log Navigator is also known as the Report NavigatorLogistic
What exactly do you mean by check build directory configs? I have the same problem on a multi-target project (Qt). DSyms are created but not uploaded to the AppStore. How did you finally solve your problem ?Housewifery
A
0

As mentioned in the main answer, the value of DWARF_DSYM_FOLDER_PATH determines where the dSYMs will go. The default value is $(CONFIGURATION_BUILD_DIR), so if you have a custom CONFIGURATION_BUILD_DIR setting, it can change DWARF_DSYM_FOLDER_PATH such that the dSYMs do not get copied into the .xcarchive. I have also found that a custom SYMROOT setting can also change the path, and possibly some other setting overrides as well.

Normally during an archive build, the CONFIGURATION_BUILD_DIR and DWARF_DSYM_FOLDER_PATH values will be somewhere under an "ArchiveIntermediates" folder, the contents of which presumably get copied to the eventual .xcarchive.

If you can avoid overriding those settings, that would likely be preferable, otherwise DWARF_DSYM_FOLDER_PATH may also have to be overridden to point to the correct location, or a post-build step would be needed to copy the .dSYM folders from wherever they ended up to the XXX.xcarchive/dSYMS folder.

Annelid answered 30/10, 2021 at 20:5 Comment(0)
A
0

DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=YES copied the .dsym files to the archive in my project.

Also, I did not change the default DWARF_DSYM_FOLDER_PATH or DWARF_DSYM_FILE_NAME values.

Anastomose answered 21/12, 2021 at 6:0 Comment(0)
P
-1

This is work around helped me:

  1. Log into iTunes Connect and go to My Apps.
  2. Click on the app that you're trying to download the dSYM for Go to 'Activity' tab.
  3. Click on the version you want to expand it and show all the uploaded builds.
  4. Click the build you want.
  5. You'll be shown details about that build, and the option to download dSYM in the bottom right corner under 'Includes Symbols' header.
Padgett answered 6/11, 2017 at 5:58 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.