Felipe Peña
Felipe Peña

Reputation: 2850

Xcode - There are no dSYMs available for download

I want to extract the dSYM file from but when I click on "Download dSYMs..." in the Organizer I get the follow message: "There are no dSYMs available for download.".

I'm using Xcode 7.2 with a workspace generated by Cocoapods 0.39.

How can I get them?

enter image description here

Upvotes: 146

Views: 63667

Answers (8)

Naresh
Naresh

Reputation: 17902

Form latest updates you no need to upload dSYM files manually, automatic upload is done with below process.

Step-1: Goto Target-> Build Settings -> Search for "debug information format". Set Debug Information Format to DWARF with dSYM File for all your build types.

enter image description here

Step-2: Goto Build Phases -> Expand Run Script and add script & input files

In Script:

"${PODS_ROOT}/FirebaseCrashlytics/run"

In input files:

${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
    $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Example Screenshot:

enter image description here

Step-3: Finally add one more script to upload dSYM files

${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp 
      ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios 
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}

enter image description here

Here, in the 2nd line of the script ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios update with your project path means your app schema name

If you got error while running the app follow my answer Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code

Error:

 Command PhaseScriptExecution failed with a nonzero exit code

Upvotes: 1

Ted
Ted

Reputation: 23746

NON-BITCODE

Here's a GIF on how to get DSYMS, compress and upload to crashlytics/fabric

enter image description here

  1. Press Window > Organizer
  2. Right-click on your app> Show in Finder
  3. Right-click on first .xcarchive file > Show package contents

BITCODE ENABLED

You'll need to download dsyms from App Store Connect. The easiest would be to use fastlane

lane :refresh_dsyms do
    download_dsyms                  # Download dSYM files from App Store Connect
    
    upload_symbols_to_crashlytics   # Optional for uploading to Crashlytics
end

Upvotes: 360

smukamuka
smukamuka

Reputation: 1537

If dSYMs folder in package contents is empty (Ted's answer), try to check:

  • Build Settings > Build Options > Enable Bitcode is set to YES (Jacksonkr's answer)
  • Build Settings > Build Options > Debug Information Format is set to DWARF with dSYM file (daisura99's answer)

Please check them both.

Then in show package contents -> dSYMs folder, this time, you should find something.

In my case, it worked.

Upvotes: 3

Jacksonkr
Jacksonkr

Reputation: 32207

bitcode must be enabled

if you want to get your dSYM from iTunesConnect

  • Build Settings > Build Options > Enable Bitcode > YES
  • Select device "Generic iOS Device" (or anything that works)
  • Archive

When exporting from archive

  • CHECK "include app symbols for your application to receive symbolicated crash logs from Apple"
  • CHECK "include bitcode"

Upload using Application Loader

Once your app has been successfully uploaded to iTunesConnect you can go to iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > Download dSYM

#xcode8.2.1 #osx10.12.6

Upvotes: 23

daisura99
daisura99

Reputation: 1110

In my case, I could not find a dSYM file of my app in the Archives folder. If you face this, go to your Project Build Settings > Build Options > Debug Information Format and make sure it is set to DWARF with dSYM file

Upvotes: 10

Joeytat
Joeytat

Reputation: 261

Actually you can't download dSYM file from iTunesConnect now. There is another way to get that file.

Xcode -> Window -> Organizer -> Show xcarchive file in Finder -> Right Click Your xcarchive file -> Select "Show Package Contents"

You can see your dSYM file now.

Upvotes: 26

Davide
Davide

Reputation: 762

I've found a solution from https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2

"Crashlytics was reporting missing dSYMs with UUID looking like this: 83889b11dedd363c8e5ee56233bcc90c. As I said, I followed the guide7 but I couldn't find that UUID. So I went in the iTunesConnect and I did the following:

  • Select the app
  • Choose the Activity tab on top
  • Select the build version Crashlytics is complaining about
  • Click the Download dSYM blue link

The downloaded file is called dSYM has no extension but it is actually a zip. So I added the zip extension and unzipped it. Inside the unzipped folder I found many dSYM files, one on which has called 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM which matched the UUID Crashlytics was reporting as missing (even if formatted in a different way). Note also that this file is not inside the xcarchive.

Hope it can help!"

in my case, it works like charms

Upvotes: 11

Lane Rettig
Lane Rettig

Reputation: 6950

I think @Jordan is correct--it seems that iTunes Connect is recompiling apps with bitcode so that the UUID changes, and the dSYM inside the .xcarchive can't actually be used to symbolicate the app (this appears to be a new development).

You can download the correct dSYM from iTunes Connect. Login, go to My Apps, select your app, then tap on the Activity tab at the top. Tap on the relevant build, and, assuming the app was submitted with symbols in the first place, you should see the option to "Download dSYM."

The file you get is called dSYMs (without an extension) but it is in fact a zip file. Add the .zip extension, unzip, and you'll find your dSYM(s) inside.

(I needed to do this this week since Crashlytics was complaining about a missing dSYM.)

Upvotes: 48

Related Questions