Exiting because upload-symbols was run in validation mode

10,795

Solution 1

The "Exiting because upload-symbols was run in validation mode" message is a bit misleading because it also appears when everything works... I'm using the latest Firebase Crashlytics 4.0.0, but it produces exactly the same output as the older Fabric scripts.

The comments in

${PODS_ROOT}/FirebaseCrashlytics/run

explain it well:

# run
#
# This script is meant to be run as a Run Script in the "Build Phases" section
# of your Xcode project. It sends debug symbols to symbolicate stacktraces,
# sends build events to track versions, and onboards apps for Crashlytics.
#
# This script calls upload-symbols twice:
#
# 1) First it calls upload-symbols synchronously in "validation" mode. If the
#    script finds issues with the build environment, it will report errors to Xcode.
#    In validation mode it exits before doing any time consuming work.
#
# 2) Then it calls upload-symbols in the background to actually send the build
#    event and upload symbols. It does this in the background so that it doesn't
#    slow down your builds. If an error happens here, you won't see it in Xcode.
#
# You can find the output for the background execution in Console.app, by
# searching for "upload-symbols".
#
# If you want verbose output, you can pass the --debug flag to this script

Just a reminder: if you want to see the messages in Console.app, start the app first...

Solution 2

I had this problem and I solved it by checking the "Run script only when installing" located near the Build Ph

Solution 3

Chintan from Fabric/Firebase support. Can you check if in the build settings,

DWARF with dSYM

files has been selected as your

Debug Information Format

Also, delete the app from the device / simulator, clean the project, rebuild, run and install the app again. Contact support(at)fabric(dot)io if this doesn't work, your app might need manual activation.

Solution 4

As @llude mention, in order to send the DYSM to FirebaseCrashlytics you only need to add one line in the Code build phases script: ${PODS_ROOT}/FirebaseCrashlytics/run

As mentioned in the setup guide: https://firebase.google.com/docs/crashlytics/get-started?platform=ios#initialize-crashlytics

note that you will need to add 2 fields as input files (in the build phase script) in order for the update-symbols to send the DYSM file:

  • plist file path
  • dysm file path
Share:
10,795

Related videos on Youtube

Return-1
Author by

Return-1

An engineer at heart, I enjoy trying different languages, frameworks and programming paradigms. I like making things work, then finding the faults in the system and repeating the process until it all ticks predictably. I appreciate good design in all levels, from the smallest software module to the configuration of the company's procedures, team dynamics, even in art. I love being around positive and driven people, good literature and trying different cuisines.

Updated on May 13, 2021

Comments

  • Return-1
    Return-1 about 3 years

    Im trying to add Fabric to my xcode project. I've done so succesfully in the past but now facing issues with a react-native project. Having looked around, i've tried pretty much all combinations suggested out there. My setup looks like so:

    enter image description here

    I've also tried the Pods version using "${PODS_ROOT}/Fabric/run" however no matter what i do im unable to proceed from the Add Run Script step.

    In attempt to try and debug i've directed the output of what the Fabric command produces to a file. It yields the following:

    Running upload-symbols in Build Phase mode Validating build environment for Crashlytics... Validation succeeded. Exiting because upload-symbols was run in validation mode

    Any help much appreciated. Im very unsure as to how to take it from here

    ADDITIONAL_INFO:

    I've reinstalled the Fabric Mac app from scratch, restarted both xcode,fabric app and the whole system in general. Tried building in release mode and have pretty much tried everything here:

    Crashlytics in iOS won't proceed past "Build Your Project" in Fabric app

    • sgelves
      sgelves about 3 years
      Same problem, but it was because I had missed the quotes in the script. "${PODS_ROOT}/FirebaseCrashlytics/run"
  • Return-1
    Return-1 almost 5 years
    Thank you Chintan. I've already checked all the above and they seem to be as described. I've followed all your steps and still the problem persists, the Fabric app wont move to the next step. Any way to further debug?
  • bojan
    bojan almost 5 years
    Did you solve your problem? I'm facing exactly the same problem. I have multiple apps working with Fabric, can't add the new one, I'm not using CocoaPods. I've updated the app
  • bojan
    bojan almost 5 years
    Solved exactly the same problem by contacting Fabric customer support. In my case the problem was that I was added to the organization, but not to the project (the project didn't exist at the time). The error messages were exactly like OP question.
  • Chintan
    Chintan almost 5 years
    In such cases I'd be a good idea to double check with the admin/owner of the Org. Admins have access to all apps under the Org by default.
  • Luis Mejías
    Luis Mejías about 4 years
    but setting that won't make the DSYMs files get uploaded only when the user install for the first time the application?
  • eharo2
    eharo2 over 3 years
    @LuisMejías The symbols are required to symbolicate the crash reports in the Crashlytics portal, and not in the user's installations. They send the crash report w/o symbols
  • sylwano
    sylwano about 2 years
    When this option is checked, the script only runs on Product Archive. They couldn't give it a less intuitive name...