Firebase Crashlytics: Upload missing dSYMs to see crashes from 1 versions.(iOS) - ios

Error Message: Upload missing dSYMs to see crashes from 1 versions.
Versions affected: 1.0 (1)
I am trying to implement Firebase Crashlytics in my iOS project. I did all the setups according to Firebase Crashlytics Doucmentation. The crash is performed manually when the button is clicked just to see whether the crashlytics is working.
#IBAction func onTestCrashButtonClick(_ sender: UIButton) {
Crashlytics.sharedInstance().crash()
}
But when i tried to see the error report in the firebase console, it shows something like this image.
After reading Get Deobfuscated crash reports I just Set Debug Information Format to DWARF with dSYM File like below but the problem not fixed till now.

Download appDsyms archive from App Store
1.1 Login: https://appstoreconnect.apple.com
1.2 Go to: MyApps -> Choose your app -> Test Flight -> Select app version that is in the App Store -> Build Metadata -> Includes Symbols (right side) -> Press: Download dSYM.
New way - June 2022
New way to upload directly in Firebase Crashlytics.
Go to firebase crashlytics https://console.firebase.google.com
-> Select your project -> Go to crashlytics (left side) -> Upload your dSYM files.
Other way - Upload dSYM files via terminal
Open terminal, drag and drop 3 files on terminal on this order:
1.1 drag an drop: "upload-symbols" which can be found in
/project/Pods/FirebaseCrashlytics/upload-symbols
1.2 write " -gsp "
1.3 drag an drop: "GoogleService-Info.plist" which can be found in /project/GoogleService-Info.plist
1.4 write " -p ios "
1.5 drag an drop: "appDsyms" folder (unarchived, zip file might not work!) which usually is in Download folder /Users/username/Downloads/appDsyms
1.6 Press Enter
In terminal the complete command should include -gsp and -p ios, full command looks like this: 1.1 -gsp 1.3 -p ios 1.5
/project/Pods/FirebaseCrashlytics/upload-symbols -gsp /project/GoogleService-Info.plist -p ios /Users/username/Downloads/appDsyms
All Set, wait for upload in the terminal!
Terminal example:
-
One way how to get a file or folder location with a drag and drop to terminal:
-
AppStore Connect, Download dSYM:

I have been having this same issue for a while and I was finally able to resolve it, thought I would share what worked for me:
For context, I am working on a larger app which uses several Cocoapods.
I found that same red banner on my Firebase Crashlytics page and after following all of their instructions I was still seeing it.
I tried the "archive/find .dSYMs/upload manually via terminal" solution several times to no avail.
Finally, I decided to download the .dSYMs from iTunesConnect.
[Your App] > Activity > [Desired Build Number] > Download dSYM
I then uploaded those .dSYMs manually and within minutes Firebase Crashlytics was happy and showing the crash reports.
UPDATE
Google has added a swanky .dSYM upload feature on the Firebase Crashlytics dashboard, no more uploading from the terminal.
Edit on March 16, 2020.
Google is soon removing the upload feature on the Firebase Dashboard. An uploader script should be used from the terminal to upload dSYMs to Firebase. See Google's instructions here.

After updating Fabric Crashlytics to Firebase Crashlytics SDK. I was also getting same issue(Upload 1 missing dSYM required to process 5 crashes). I solved with the help of following steps-:
Step 1-:
Open Target-> Build Settings -> Search for "debug information format".
Set Debug Information Format to DWARF with dSYM File for all
your build types.
Step 2-:
Open Run Script section and input the script
"${PODS_ROOT}/FirebaseCrashlytics/run"
and then add input files-
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
Step 3-: Add one more script to upload dSYM file
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}

If everything is fine you setup all without missing any step and then also you see Upload missing dSYMs to see crashes error in firebase. (New way - June 2022)
You can upload directly in Firebase Crashlytics. Go to firebase crashlytics https://console.firebase.google.com -> Select your project -> Go to crashlytics (left side) -> Upload your dSYM files.
Download the .dSYMs from iTunesConnect only no anywhere else and upload those to the Firebase.
Another way - Upload dSYM files via terminal
Run the script directly from your terminal to upload dSYMs :
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
After two days of long research and try lots of solutions but no anyone works for me :(
But by this solution Firebase Crashlytics was happy and showing the crash reports within a few minutes.

Pods/Fabric/upload-symbols -gsp APP/Resources/GoogleService_Info.plist -p ios /Users/ME/Desktop/APP.app.dSYM
This one I used recently to upload my dsym to fabric. I was using fabric with crashlytics SDK not firebase one(which is currently in beta). Just replace your app name for 'APP' and your DSYM path instead of '/Users/ME/Desktop/APP.app.dSYM.

In my case, I have done the following things and it worked:
Select 'Run script only when installing' in Build Phases -> Run Script
(Shell = ${PODS_ROOT}/Fabric/run)
Build the app
Now you can find the .dsym file in the path,
/Library/Developer/Xcode/DerivedData/XXX-arctjcalvfslmbakanpyivuuxjmm/Build/Products/Release-iphoneos
Upload the zipped .dsym file to firebase console
After few minutes, you can find the crash reports
NOTE:
I have disabled bitcode while exporting ipa file (Adhoc or Appstore)
If you need ipa with bitcode enabled, then download dsym file from iTunes connect

Find and upload debug symbols for Crashlytics
Copy the UUID of your missing dSYM and run
mdfind "com_apple_xcode_dsym_uuids == <UUID>" on a terminal window.
The above command will return something like .../build/ios/Release-Staging-iphoneos/your.app.dSYM
Zip up the package and upload to Crashlytics using Firebase dashboard
Wait for 10-15 minutes before the crashes start to appear on the console.

I also faced the same issue.
Basically I was missing a simple step that is why Firebase script could not upload dSYM file.
Step followed to solve it.
Click on project file
Select target
Go to build settings
Search "debug information format"
For all scheme change the settings to "DWARF with dYSM file"
Now run the project again
dYSM error of firebase dashboard should go...

March 2021
The activity tab is no longer on itunesconnect so for you to get the Dsyms file you will have to
Go to itunes connect.
My Apps.
Select the specific app.
Navigate to testflight.
select the build you want to generate the Dsyms file for.
Click build meta data.
search for "includes symbols" and then click then click the download.
Then after downloading it run this code in your terminal replacing the quoted parts with the right file path.
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols
-gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

If you are using the dynamic library is your project using cocoa pods or any other tool then Firebase needs Duplicate Symbol files to locate the faulty code in your library. If you want to read more about dSysms read this : https://stackoverflow.com/questions/3656391/whats-the-dsym-and-how-to-use-it-ios-sdk
To find dsysm folder, you first need the .ipa file on which crash was reported on your firebase. In your case, I suppose you are running on the simulator for testing. To get IPA follow these steps: How to create ipa in xcode 6 without Apple Developer account?
When you reach .iPA then right click and select show package contents, or follow this link: iphone: Where the .dSYM file is located in crash report
There you will find system folder. Upload this folder to firebase crashalytics.
Hope this helps!

I hope you have a resolved it till now. But for other who are using Firebase/Crashlytics. I uploaded the build and got crash but it was not showing in the console due to missing dsyms.
I logged into the itunes and goto the activity section. Then download the dsyms.
After that I uploaded the dsyms to firebase console using below command:
/Users/ankitjaiswal/Code/oliobox-ios/Pods/FirebaseCrashlytics/upload-symbols
-gsp /Users/ankitjaiswal/Code/oliobox-ios/JacksonArtGallery/GoogleService-Info.plist
-p ios /Users/ankitjaiswal/Downloads/appDsyms.zip
But in this way you always manually need to download and upload it. This is not recommended instead you can follow this link: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports-new-sdk

I have created Medium Story about dSYMs upload.
Stap by step how to upload with the terminal
Medium Link:
https://medium.com/#petarlemajic/firebase-dsyms-upload-1cf432c475f7
I will be happy if this helps somebody.
Cheers!

After download dsym .zip file. You should run code below in Terminal.
/ProjectPath/Pods/Crashlytics/Crashlytics.framework/upload-symbols -gsp /ProjectPathForGoogleServiceFile/GoogleService-Info.plist -p ios /dSYMFilePath/dSYMs.zip
If upload-symbols command not found, you should update pods for Firebase.

Question is answered well already if you still want a ready-made script that you can copy and paste. Here you go.
find
$HOME/Library/Developer/Xcode
/DerivedData/<target-name>-*/Build/Products/Develop-iphoneos
-name "*.dSYM" | xargs -I \{\}
$PODS_ROOT/FirebaseCrashlytics/upload-symbols
-gsp ${PROJECT_DIR}/<target-name>/GoogleService-Info.plist
-p ios \{\}

(October 21 - 2020)
I was having a lot of trouble uploading my dsyms to firebase, this happend to me after i updated to FirebaseCrashlytics and removed my fabric SDK, before that i had no issues. I tried all solutions with no luck but finally figured out my problem after making a few changes in my code. It seems i had some conflicting values in my info.plist file and were not lining up with what was in my GoogleService-Info.plist file. The bundle ID in the GoogleService-Info.plist should be the same used as the url schemes within info.plist. After i made these changes i uploaded the DSYMs manually.
This is an example of how my bundle ids look in my project after updating:
GoogleService-Info.plist
info.plist
I then wanted this automated. I added the following script to the Build Phases > Run Script and i now have this automated as it was before when i was using the Fabric sdk. Just copy this code into run script, it should require no changes.
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
PS: Make sure you follow the other posts making sure you have "DWARF with dYSM file" set in build options as well.

According to firebase documents, instead of uploading dsym You can also provide your app's built Info.plist location to the build phase's Input Files field:
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
They fixed bug and document updated

If Bitcode enable = Yes
Go to App Store Connect
Go to iOS Build and Download dSYM
Open a terminal
Run the command
/Users/your-project-path/ios/Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/your-project-path/ios/GoogleService-Info.plist -p ios /Users/your-username/Downloads/appDsyms
Once you get the success message and refresh the Firebase console within some time you will see the reflections
Note: Upload all the built dSYM files to the Firebase

My appstore connect doesn't show any download dSYM link.
So, I followed these instructions and it worked for me.

Simple Steps Follow 1 Go to archive and right click on the latest version in which you want to get crash report on firebase 2 see the dsyms folder 3 create the Zip file of dsyms folder 4 finally upload that zip file into the firebase console

The accepted answer is perfect and what I also followed. I would just like to add another way to download these dSyms.
Open Organizer from Xcode menu > Window > Organizer
Select the Application from left panel and select Archives tab.
Select the archive for the app release you want to download dSyms of. (If you have deleted archives, then you better follow the accepted answer)
On the right panel, click Download Debug Symbols. Now this will download those symbols into the archive itself. Simply right click the archive version > Show in Finder.
Here in finder, right-click archive > Show package contents.
This will open the contents to reveal the dSyms.
Now you don't need all of them, some of them will be your added frameworks/libs from pods and other imports.
Select only the ones with alphanumeric labels.
You can zip these and upload to Firebase.

Go to developer.apple.com > Activity > iOS Build > Select Version > Download dSYM
Change your-project-path and your-username
Run this code on Terminal
/Users/your-project-path/ios/Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/your-project-path/ios/GoogleService-Info.plist -p ios /Users/your-username/Downloads/appDsyms.zip
You'll see success message on the Terminal.
Check the crash logs on Firebase Console after 15-30 minutes.

The top solutions are good, thanks to their authors. Maybe this tips could help someone : when you want to test your configuration by crashing your app, build it with Xcode on the simulator, then stop the app and relaunch it directly in the simulator.
As the firebase doc says : The initial instance includes a debugger that interferes with Crashlytics. https://firebase.google.com/docs/crashlytics/test-implementation?platform=ios#test_it_out

Related

Firebase Upload missing required dSYMs Not Working

Currently, I am facing issues to upload dSYMs through the new uploader script.
/path/to/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p <platform> /path/to/dSYMs
I am getting success response by uploading the dSYMs
But no change on firebase console.
I have already checked the following thread:
https://github.com/firebase/firebase-ios-sdk/issues/5327
Please let me know if anyone having a solution...
Don't know what is going on in the Firebase Crashlytics.
But after 1 Day/24 Hours the dSYMs processed and now they are showing (Optional) in the same build.
Update
I have again uploaded the dSYMs today, and it uploaded quickly. Maybe some issues are there with the Firebase Crashlytics upload process!
https://github.com/firebase/firebase-ios-sdk/pull/5228
If this is a migrated app from Fabric, then you need to follow these directions,
"Important: If you're working with an app that you previously linked from Fabric to Firebase Crashlytics, pass in your Fabric API Key to run the upload symbols script. That is, in the following options to run the script, use -a fabric-api-key instead of -gsp path/to/GoogleService-Info.plist."
If this is not a migrated app, and you're seeing that the correct missing UUID is being uploaded, but you're still getting the missing dSYM error, then you need to write into Firebase Support so they can get your debug logs and check your session ID.
I had the same problem. What I found:
You should double-check if you can find this specific DSYM in your XCode archive. For this, open XCode->Organizer->Show In Finder-> DSYMs in bundle: try to find specific DSYM by ID from the dSYMS error Firebase panel. If any you can find with the same ID, you have to upload manually.
On my practice, the delay is usually several mins, max 24 hours.
Sometimes, I couldn’t find the DSYM IDs listed on Firebase in XCode archive or from AppStore downloads. What I found, that Firebase catches all distributed versions of the app. That’s why you cannot find them on AppStore if it is not on TestFlight yet. You probably can find them in your alpha archives.
However, this is my guessing.
I was wondering if anyone from Firebase guys can give more info on this.
install crashlytics via POD 'Firebase/Crashlytics'.
download DSYMS from app store.
located here
--> myapps --> select your app --> testflight --> select latest build --> Build Metadata --> Download dSYM.
now run this script using Terminal directly
YOUR PROJECT POD FOLDER PATH /FirebaseCrashlytics/upload-symbols -gsp /YOUR PROJECT/GoogleService-Info.plist -p ios /Users/username/Downloads/appDsyms
more in detail step.
Open terminal, drag and drop 3 files on terminal on this order:
A--> drag an drop: "upload-symbols" which can be found in /project/Pods/FirebaseCrashlytics/upload-symbols
B--> write " -gsp "
C--> drag an drop: "GoogleService-Info.plist" which can be found in /project/GoogleService-Info.plist
D--> write " -p ios "
E--> drag an drop: "appDsyms" folder (unarchived, zip file might not work!) which usually is in Download folder /Users/username/Downloads/appDsyms
F--> Press Enter
In terminal the complete command should include -gsp and -p ios, full command looks like this: A -gsp C -p ios E
/project/Pods/FirebaseCrashlytics/upload-symbols -gsp /project/GoogleService-Info.plist -p ios /Users/username/Downloads/appDsyms
it might take some time to reflact on google firebase 24 hours.
Currently, it is taking (around) 24 hr to process the dSYMs (specially, if dSYM size is large), but it should improve soon.
Most Impacted Developers:
Fabric legacy only, not migrated customers - should no see impact
Fabric legacy SDK, migrated to Firebase - impacted
Fabric legacy SDK, onboarded via Firebase - impacted
Firebase SDK (currently in beta) - no impact
It is suspected that the dsym downloaded from Apple has the incorrect bundle id. Apple is setting com.apple.xcode.dsym. (e.g. com.apple.xcode.dsym.Bingo Blast).
1- As a temporary workaround, if the developer after downloading the dsym from Apple, converted all occurrences of the incorrect bundle string with the correct bundle id (e.g. com.redhotlabs.bingo), this should allow the dsym to be ingested correctly.
See an example shell script that developers could use replacing the and with the appropriate values.
export BUNDLE_ID=''
export DSYM_PATH=''
sed -i '' -e "s/>com.apple.xcode.dsym.*\$BUNDLE_ID\
2- Try not test-crash the app or release a potentially crashy app to users for at least 10 minutes after upload-symbols has completed and the mapping file is uploaded.
3- I would recommend to upgrade to Firebase SDK (currently in beta) to avoid this issue all to gather.

New Firebase Crashlytics SDK missing dSYM UUID

I am trying to upgrade Fabric Crashlytics SDK to New Firebase Crashlytics SDK. I've followed New Firebase Crashlytics instructions.
The problem is that given Firebase Crashlytics dsym file's UUID does not match with archive dsym files UUIDs. I've downloaded dsyms from Appstore connect(Activity) and it doesn't match too.
After that I decided to upload dsyms with Fastlane. So many dsyms are uploaded but Firebase Crashlytics console still says me to upload missing dsym files.
I tried to upload with Firebase CLI and Fastlane.
I'm busy with that problem since tree days. Somebody can help me ?
I had the same problem, the fix was uploading the downloaded DSYMs from Appstore connect using Terminal
Open your terminal then use the following line (make sure to replace [xxx Path] with the right paths:
[Project Path]/Pods/FirebaseCrashlytics/upload-symbols -gsp [Google Service Plist Path]/GoogleService-Info.plist -p ios [DSYMs file Path]/appDsyms.zip
Example
/Users/soufian/Desktop/Projects/yourProject/Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/soufian/Desktop/Projects/yourProject/yourProjectSubFolder/GoogleService-Info.plist -p ios /Users/soufian/Downloads/appDsyms.zip
Make sure there is a space after -gsp, in Firebase documentation there isn't.
Please reach out at 'support#fabric.io' and include your dsym (zip), app bundle id and I can dig into this with you.

iOS Firebase Crashlytics missing dSYM

So I am trying to use Google Firebase Crashlytics
I have followed any steps from
https://docs.fabric.io/apple/crashlytics/missing-dsyms.html
https://firebase.google.com/docs/crashlytics/upgrade-from-crash-reporting
But it is still not working with Firebase Crashlytics
My application "Set Bitcode" is set to NO
I have tried to set my "Debug Information Format" in the Build Settings to "DWARF with dSYM"
I have tried to get the dSYM manually from "Show package content" on my archived app(same version of app), compressed it to zip, and uploaded it to Firebase Crashlytics. It showed upload successfull, but the missing dSYM message is still there.
My previous uploaded dSYM is not shown on the Firebase dashboard(I am not sure this is intended or not)
So basically my crash is submitted to the Firebase Crashlytics but it couldn't get the dSYM.
Can anyone guide me on how to use it?
I solved the missing dSYM issue by following steps.
Under Build phase add the run script as below image
Under build settings enable bitcode to Yes and Debug information format to DWARF with dSYM File as below
Upload dSYM manually using terminal as below
(3.1) Open terminal
(3.2) Under Xcode Project -> Pods -> FirebaseCrashlytics folder -> Right click -> Show in Finder , there you will find Upload_Symbols file as below images
(3.3)Drag & Drop upload-symbols file into terminal
(3.4)Enter -gsp in terminal with single space on both sides
(3.5)Locate GoogleService-Info.plist file in xcode project. Drag & drop GoogleService-Info.plist into terminal as below
(3.6)Enter -p ios in terminal with single space on both sides
(3.7)Locate app.dSYM file as below
Xcode -> Windows -> Organizer -> Select Archive -> Right Click -> Show in finder -> Select Archive -> Right Click -> Show package contents -> dSYMs -> Select app.dSYM
(3.8)Drag & Drop app.dSYM file into terminal as below
(3.9)Enter, you will get message in console as below
(3.10)Try to uninstall & install the app in the device, please check after sometime, the issue in firebase will be resolved
in your Xcode project, under Build Phases
add below run script:
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Add following scripts in the build phase:
${PODS_ROOT}/Fabric/run
Input files:
$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
$(BUILT_PRODUCTS_DIR)/${GOOGLE_INFO_PLIST_PATH}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
Add user defined setting:
GOOGLE_INFO_PLIST_PATH: ${SRCROOT}/GoogleService-Info.plist
For below script :
Do not check run script only when installing option
${PODS_ROOT}/Fabric/upload-symbols -gsp ${GOOGLE_INFO_PLIST_PATH} -p ios ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
If you're using new FirebaseCrashlytics, replace Fabric with FirebaseCrashlytics in your script

missing DSYMs to process crashes

I am not getting crash report mails and also no reports in crashlytics
In crashlytics, it is showing "It looks like we are missing dSYMs to process crashes for the versions below"
Actually, I have generated ipa file using "Development" distribution method.
Is this issue is because of generating ipa using "Development" distribution method ?
Please help me in resolving this, thanks in advance!
Here is steps to generate dsyms from xcode
Step 1:
Open Xcode and goto Windows --> Organizer
Step 2:
Select Build for which you want DSYMs and on right panel Below Export and validate option There is button Download dSYMs
And upload that to crashlytics to process the crash report
Hope it is helpful
in your Xcode project, under Build Phases add above run script:
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"[![enter image description here][1]][1]

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?
NON-BITCODE
Here's a GIF on how to get DSYMS, compress and upload to crashlytics/fabric
Press Window > Organizer
Right-click on your app> Show in Finder
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
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.)
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.
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
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
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
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.
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.
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:
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}
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

Resources