CocoaPodsWhen uploading dSYMs to Firebase the upload-symbols command fails with the following error:
Fetching upload-symbols settings...
error: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
This has previously worked, however when updating to the most recent version of Firebase and Crashlytics it fails
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
Same issue here with a dedicated plist path.
Build Phase which fails (without copy phase) :
"${PODS_ROOT}/FirebaseCrashlytics/run" "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/path/to/code/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Related to:
https://github.com/andrewmarmion/bitrise-step-firebase-dsym-upload/issues/12
I have the issue only on Bitrise CI + Firebase Crashlytics upload step.
Archive seems work when adding a cp script before:
GOOGLE_SERVICE_INFO_PLIST_FROM="${PROJECT_DIR}/path/to/code/GoogleService-Info.plist"
BUILD_APP_DIR="${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}"
GOOGLE_SERVICE_INFO_PLIST_TO="${BUILD_APP_DIR}/GoogleService-Info.plist"
cp "${GOOGLE_SERVICE_INFO_PLIST_FROM}" "${GOOGLE_SERVICE_INFO_PLIST_TO}"
Firebase 6.26.0
FirebaseCrashlytics (4.1.1)
Xcode 11.5
Thanks for reporting this folks. @bill350 are you also seeing this where it was working before and then updating to the most recent version causes it to start failing with An unknown error occurred? @andrewmarmion did anything else change about your project between it working and not working?
@kevinkokomani Nothing had changed about the project other than updating the pods to use FirebaseCrashlytics instead of Fabric. The project builds fine it is only when running the upload-symbols that I get the error.
Hi,
I have the same problem here. I added some debug info and will share here, maybe will help
My Run Script:
"${PODS_ROOT}/FirebaseCrashlytics/run" --debug --google-service-plist "${SRCROOT}/GoogleService-Info.plist"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" --debug -gsp "${SRCROOT}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
And the results:
upload-symbols 3.3 build 22
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Arguments:
Debug mode enabled
Google App ID: 1:XXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXXXXXX
Platform: ios
DSYM Paths: [DSYM_PATHS_HERE]
Validation succeeded. Exiting because upload-symbols was run in validation mode
upload-symbols 3.3 build 22
Arguments:
[1mDebug mode enabled[0m
Google App ID: 1:XXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXXXXXX
Platform: ios
DSYM Paths: [DSYM_PATHS_HERE]
Fetching upload-symbols settings...
[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m
Command PhaseScriptExecution failed with a nonzero exit code
I checked the Google App ID and DSYM Paths - all are fine.
Also, the .dSYM file exists.
Just FYI this app has one target with 6 different environments configurations. But for this test, I use the standard method. Uploaded only one GoogleService-Info.plist file to the project and it doesn't work.
I have another app with one target and it works.
path/FirebaseCrashlytics/upload-symbols -gsp path/GoogleService-Info.plist -p ios xxx.app.dSYM
Fetching upload-symbols settings...
error: Could not fetch upload-symbols settings: The request timed out.
same error
upload-symbols 3.3 build 22
Arguments:
Debug mode enabled
Google App ID: 1:XXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXXXXXX
Platform: ios
DSYM Paths: ["xxxx.dSYM"]Fetching upload-symbols settings...
error: Could not fetch upload-symbols settings: The request timed out.
In my case the error was
error: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
And it was resolved after I went to Firebase Console and enabled Crashlytics for this particular app within the project.
@RustamG, thank you.
I enabled Crashlytics for all my apps and now it works.
Also for dSYM path, I use this step:
- Add your app’s dSYM location as an input file that enables Crashlytics to automatically generate dSYMs for large apps more quickly. For example:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
path/FirebaseCrashlytics/upload-symbols -gsp path/GoogleService-Info.plist -p ios xxx.app.dSYM
Fetching upload-symbols settings...
error: Could not fetch upload-symbols settings: The request timed out.
If you are in a special region, such as mainland China, you can only upload by opening the terminal global agent.
I want to know the upload url of Uploaded-Symlobs to determine if there is a problem with my network
https://firebase-settings.crashlytics.com
404. That’s an error.
The requested URL / was not found on this server. That’s all we know.
We turned on the VPN and were able to use the "Google, Firebase" environment
Any other Suggestions
I solved this issue by enabling Crashlytics on firebase. I am still used to Fabric where Crashlytics is automatically enabled. Once I enabled Crashlytics in the firebase console for the corresponding GoogleService-Info.plist I was able to Archive without this error.
At my company we must run that script ~ 200 times a day as part of automation on CI. We implemented a strategy to invoke the script 4 times with 10 second intervals if it fails. Even with this strategy it fails a couple of times a day! We use the script upload-symbols from that page.
Here is the error.
Fetching upload-symbols settings...
--
 | error: Could not fetch upload-symbols settings: An internal server error occurred
 | Trying upload dSYM attemp number 4
 | upload-symbols 3.3 build 22
 | Running upload-symbols in Build Phase mode
 | Validating build environment for Crashlytics...
 | Â
 | Arguments:
 | Debug mode enabled
 | Running in a CI Environment
 | Not running in an instance of Xcode.app
 | Crashlytics is not installed
 | Google App ID: [redacted]
 | Platform: ios
 | DSYM Paths: [redacted]
Fetching upload-symbols settings...
--
 | error: Could not fetch upload-symbols settings: An internal server error occurred
 | dSYM failed to be uploaded!
Here is the hack, really bad temporary solution! It still save a couple failures a day!
for i in $(seq 1 4); do
echo "Trying upload dSYM attemp number ${i}"
if eval "${command_to_run}"; then
success="true"
break
fi
sleep 10
done
I am having the same issue. Crashlytics is already enabled in the Firebase console, and in fact it's telling me to upload the dSYMs but the uploader script fails with "An unknown error occurred fetching settings." Is anyone working on this?
Same issue. Our team using Bitrise, crashlytics is already enabled in the Firebase console, still telling us to upload the dSYMs but the uploader script fails with "error: Could not fetch upload-symbols settings: An unknown error occurred fetching settings."
I got it working again. I updated via CocoaPods from 6.28.0 to 6.28.1 and re-downloaded the GoogleService-Info.plist file. I think the settings error was due to a stale version of the plist. After this I got a second error:
Could not complete submission of dSYM at /path/my_app.app.dSYM: Error Domain=com.crashlytics.mac.error-domain.process-dsym Code=2 "File no longer exists at (null)" UserInfo={NSLocalizedFailureReason=File no longer exists at (null)}
This second error turned out to be due to the fact that I was trying to use the zipped dSYMs generated by fastlane. After unzipping, they are in a package rather than a regular directory. After moving them from the package to a directory, it worked fine. It now also works with the dSYMs downloaded from the App Store.
Same issue. Just started seeing it intermittently. Version 6.27.0, installing via Carthage.
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.json" == 6.27.0
Crashlytics is definitely enabled; I can generate crashes and see them in Firebase.
~Same error. Looks like it occurs in my legacy projects.~
UPDATE
In my case it works after I pass the welcome screen and enter the dashboard.
In my case, I was getting this error in my automation pipeline after setting up a new app. I had to enable crashlytics from the firebase crashlytics web dashboard (both ios and android!) to enable uploads.
Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
I think the error message could use a little refinement in this case.
We were having similar problems and found the following Xcode Run Script Build Phase works reliably.
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -bp
The -bp switch is for --build-phase which we found from running $upload-symbols --help in a terminal. That help documentation says the following about the command line arguments -bp, --build-phase
"Build Phase Mode is meant to be run as an Xcode Run Script Build Phase. It finds the dSYMs and platform from the build environment variables, instead of having the caller pass them in. With this flag, \
It's unfortunate that the Firebase Crashlytics online docs regarding the definition of this Xcode Run Script Build Phase is out of date and incomplete.
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -bp
@michael-braley Thanks that worked.
In my situation, I am receiving the same error: error:
Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
I have tried using both the following methods:
"${PODS_ROOT}/FirebaseCrashlytics/run" "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/path/to/code/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
AND
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -bp_
Crashlytics was already previously enabled in the firebase console and remains in the intermediate state with the loading spinner that appears to be listening for crash events. I'm at a loss at this point...Here is the debug logs.
Showing Recent Messages
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode
upload-symbols 3.3 build 22
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Arguments:
Debug mode enabled
Google App ID: XXXXXXXXXXXXXXXXX
Platform: ios
DSYM Paths: ["/Users/jacob.richardson/Library/Developer/Xcode/DerivedData/MyAPP/Build/Products/Debug-iphonesimulator/MyApp.app.dSYM"]
Fetching upload-symbols settings...Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
Thought I had it working, but it stopped again. I tried both workarounds mentioned here. The only working solution for me is to manually download the dSYMs from Apple and then run the upload-symbols script on them.
I received the following information from Firebase support, which might explain why things aren't working:
Firebase Crashlytics automatically processes your debug symbol (dSYM) files to give you deobfuscated and human-readable crash reports. Unfortunately, there are a few cases that could cause your dSYM upload to fail, such as bitcode in your app or other unique project configurations.
When bitcode is enabled, Apple recompiles your apps on their server. On that note, if bitcode is not enabled in your app, you could use the dSYMs generated locally. However, if bitcode is enabled in your app, you’ll need to use the dSYMs from the App Store Connect or the recompiled dSYMs when you use the “Download dSYMs” tool in the Organizer window in Xcode.
If bitcode is the issue, I would think this affects almost everyone. Bitcode is not really optional anymore, in a practical sense.
https://firebase-settings.crashlytics.com/ 404
and error: Could not fetch upload-symbols settings: The request timed out.
CI with firebase all fail~~~!!!
Could not fetch upload-symbols settings: The request timed out.
We see that too. Along with similar message while _running_ our app:
Task <...> finished with error [-1001] Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." <...>
NSErrorFailingURLKey=https://firebase-settings.crashlytics.com/spi/v2/platforms/ios/gmp/<redacted>/settings?build_version=3102&display_version=8.1&instance=<redacted>&source=1 <...>
I filed a support request 00099173 about the issue.
My builds are broken by this.
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Fetching upload-symbols settings...
error: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
I was facing both issues at random
error: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.
and
error: Could not fetch upload-symbols settings: The request timed out.
Updated upload-symbol from 3.3 to 3.4 and I do not see those errors anymore (So Far).
Updated from https://github.com/firebase/firebase-ios-sdk/raw/master/Crashlytics/upload-symbols
I have pinpointed the cause of this being using a manual copy of run and upload_symbols scripts provided by Firebase in the past. It appears that we have recently crossed the 'end of life' for the Fabric version of this script (as shown in the warning below)

Meaning that this script no longer works.
I'd like to point out that when downloading these scripts manually (due to having to use Carthage in our project) we were told these scripts 'shouldn't change' but they have (see https://github.com/firebase/firebase-ios-sdk/issues/4720#issuecomment-577222440)
Since I can't comment in that thread I'd like to @jasonhu-g as a heads-up that this may be an issue with people using Carthage as the endpoints seem to have migrated.
TL;DR, re-download and replace your local copy of https://github.com/firebase/firebase-ios-sdk/raw/master/Crashlytics/upload-symbols and https://github.com/firebase/firebase-ios-sdk/raw/master/Crashlytics/run
(edit: dammit I was beaten to the reply while testing!)
Updated upload-symbol from 3.3 to 3.4 and I do not see those errors anymore (So Far).
I have pinpointed the cause of this being using a manual copy of run and upload_symbols scripts
We're using unchanged upload-symbols 3.4 build 23 from the start, so it's not our case unfortunately.
updated to upload-symbols 3.4 build 23 myself after having this issue. Had 4 clear runs and thought issue had been resolved. Run 5 failed with the issue again
It seems like responds from https://firebase-settings.crashlytics.com/spi/v2/platforms/ios/gmp... are flaky. I copy-pasted the URL from Xcode console and tried to get it with wget. Sometimes it returns small valid JSON, but sometimes it fails to answer and returns error _502 Gateway Timeout_ after 20 seconds.
Firebase has acknowledged this problem on the status page: https://status.firebase.google.com/incident/Crashlytics/20006
To wrap it up: it was an outage on Firebase side and once they realized what's happening they fixed it in less than 2 hours
Most helpful comment
In my case the error was
And it was resolved after I went to Firebase Console and enabled Crashlytics for this particular app within the project.