firebase-ios-sdk icon indicating copy to clipboard operation
firebase-ios-sdk copied to clipboard

[Crashlytics] Xcode16 beta build with debug mode missing dSYM

Open flexund opened this issue 1 year ago • 1 comments

Description

When building application with Debug mode on Xcode16, dSYM fails to upload to Crashlytics.

This is related to https://github.com/firebase/firebase-ios-sdk/issues/13202

Workaround is to disable Debug Dylib Support in target Build settings. But this causes SwiftUI previews to not work.

Reproducing the issue

  • Set ENABLE_DEBUG_DYLIB=YES for build options
  • Build application for debug mode in Xcode 16

Firebase SDK Version

11.1.0

Xcode Version

16.0 Beta 6

Installation Method

Swift Package Manager

Firebase Product(s)

Crashlytics

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

flexund avatar Aug 26 '24 10:08 flexund

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Aug 26 '24 10:08 google-oss-bot

I solved this by setting ENABLE_DEBUG_DYLIB to false. Crashlytics upload dsym successfully but it makes preview go kaput

image

Osein avatar Sep 03 '24 13:09 Osein

Seems like Apple changed their dSYM content a bit again, will work on a fix. Meanwhile another work around is uploading the dSYM through web uploader.

themiswang avatar Sep 05 '24 18:09 themiswang

Is there any update on this?

4eleven7 avatar Sep 23 '24 20:09 4eleven7

I would like to know if there is any update to this as well. ENABLE_DEBUG_DYLIB to false is the only solution for me for Crashlytics to work.

jerald-dexcom avatar Sep 25 '24 02:09 jerald-dexcom

As above, ENABLE_DEBUG_DYLIB is the only solution for me too. Manually uploading dsyms is not particularly feasible when rapid prototyping and using CI/CD.

Would be good to know if there's a fix on the way!

ghost avatar Sep 25 '24 05:09 ghost

EDIT: Nope, still getting missing dSYM emails endlessly

I've moved from using the SPM recommended script # "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"

To using this custom script, which seems to be uploading dSYMs correctly, however I'm no script or Firebase expert, just a big dummy that has deadlines, so this might not solve all issues. All I know is my team and I no longer receive 30 emails a day about missing dSYM files. You'll have to update paths and cater it to your project + use case etc.

UPLOAD_SYMBOLS_PATH="${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/upload-symbols"

if [ "${TARGET_NAME}" == "Staging" ]; then
    GOOGLE_SERVICE_INFO_PLIST="${SOURCE_ROOT}/${PROJECT}/Staging/GoogleService-Info.plist"
else
    GOOGLE_SERVICE_INFO_PLIST="${SOURCE_ROOT}/${PROJECT}/GoogleService-Info.plist"
fi

# Verify we found it
if [ ! -f "${GOOGLE_SERVICE_INFO_PLIST}" ]; then
    echo "Error: GoogleService-Info.plist not found at path ${GOOGLE_SERVICE_INFO_PLIST}"
    exit 1
fi

"${UPLOAD_SYMBOLS_PATH}" -gsp "${GOOGLE_SERVICE_INFO_PLIST}" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

echo "dSYM upload completed."

I've also set Previews to use legacy mode (Editor > Canvas > Enable legacy preview execution)

4eleven7 avatar Sep 25 '24 09:09 4eleven7

Hey folks,

Thank you for reaching out, I am working on the fix now. This fix need a refactor work in script so we need to do a thoroughly regression test which might take more time. Tl;dr the fix need to make upload-symbols to support upload multiple DWARF contents within the same dSYM bundle which currently upload-symbols does not support. We likely gonna miss the code freeze for the upcoming release version. But as soon as we finished testing and I'll post the artifact in the issue as a workaround before we having official release.

themiswang avatar Sep 25 '24 18:09 themiswang

  • Set ENABLE_DEBUG_DYLIB=YES for build options
  • Build application for debug mode in Xcode 16

This seems to do the trick for me too.

  • Xcode Version 16.0 (16A242d)

@themiswang Processing of new dSYMs seem to take rather long on Google's side - after upload complete, it takes 5-10minutes before the events start to appear. Is this normal?

This makes fast iteration and testing really hard and prone to make wrong conclusions what works and what not.

vhartikainen avatar Sep 26 '24 07:09 vhartikainen

Thank you @themiswang , Do you have any ETA for the release that will have this fix?

jerald-dexcom avatar Sep 26 '24 19:09 jerald-dexcom

Hey folks,

I have merged the change for upload-symbols in this PR(https://github.com/firebase/firebase-ios-sdk/pull/13760), we are expected this change will be in the next Firebase release for version 11.4.0 and release date will be on Oct 21, 2024. We would love to get your early feedback, so we're sharing the pre-release artifact upload-symbols.zip early for anyone who would like to try it out.

If you are using CocoaPods, you can override the upload-symbols executable to the new one under $PODS_ROOT/FirebaseCrashlytics/upload-symbols

For SPM, you can put upload-symbols and run.sh in a convenient place and then change the path to the new place for your upload symbols build phase.

themiswang avatar Oct 02 '24 19:10 themiswang

Thanks @themiswang for fixing and keeping us updated 👍🏻

ghost avatar Oct 03 '24 04:10 ghost

Screenshot 2024-10-03 at 11 13 16 AM

I get it while validating the release build from Xcode 16. How to get rid of these warnings ?

NigamAnkit avatar Oct 03 '24 05:10 NigamAnkit

For SPM, you can put upload-symbols and run.sh in a convenient place and then change the path to the new place for your upload symbols build phase.

Thank you. I am using SPM and did as you instructed (I took run.sh from latest 11.3.0 folder) but still getting the same warnings.

lirbar avatar Oct 03 '24 07:10 lirbar

Hey @NigamAnkit, @lirbar,

The warning actually related to #13551, it is a different issue which relate to how package is getting build. I would suggest follow up with that issue, thank you!

themiswang avatar Oct 03 '24 14:10 themiswang

Hey @NigamAnkit, @lirbar,

The warning actually related to #13551, it is a different issue which relate to how package is getting build. I would suggest follow up with that issue, thank you!

Thanks! Do you have ETA when it will get fixed?

lirbar avatar Oct 03 '24 14:10 lirbar

Screenshot 2024-10-03 at 11 13 16 AM I get it while validating the release build from Xcode 16. How to get rid of these warnings ?

Does your Firebase Analytics dashboard contain user data?

kimliss avatar Oct 08 '24 07:10 kimliss

Hello everyone,

I encountered the same issue and needed to urgently release an update to the App Store due to a change in my application's API endpoint. To address this temporarily, I found the following solution:

I downgraded Xcode to version 15.4, which allowed my project to successfully build without validation errors, and I was able to release my update. How can I run older Xcode version on new macOS version? for more details.

This may not be a permanent solution, but it could be helpful if you need to quickly push an update.

yigiteryelkovan avatar Oct 08 '24 08:10 yigiteryelkovan

Any ETA for fix ??

SuryakantRapido avatar Oct 15 '24 10:10 SuryakantRapido

The fix will be in the 11.4.0 release, planned to publish the week of October 21st.

See above for the interim workaround.

paulb777 avatar Oct 15 '24 14:10 paulb777

@paulb777, @themiswang, I've updated to 11.4.0 but dSYM still fails to upload to Crashlytics. And I still see this warning in Xcode's console: Screenshot 2024-10-23 at 16 52 18

I'm still using the recommended configurations as per your Crashlytics documentation. Does 11.4.0 require changes? If yes, which ones?

Also, ever since I integrated Firebase SDK to use Analytics and Crashlytics, all previews stopped working due to AppLaunchTimeoutError. I'm on Xcode 16. I will try to remove Firebase SDK to verify.

It would be great if someone else could confirm whether or not 11.4.0 does fix the dSYM issue. In case something else is going on with my project. Thanks!

UPDATE: So I restarted the integration from a different branch with a working version (pre-Firebase). Previews are working fine. But after I installed Firebase Analytics (11.4.0), previews stopped working. If I comment out the following lines: FirebaseApp.configure() and all Analytics.logEvent(...) calls, previews work again. dSYMs are also not being sent with this version. So... I will remove Firebase SDK for now until some people can verify the fix work. Really wanted to integrate Crashlytics.

VValiente avatar Oct 23 '24 10:10 VValiente

Hey,

I updated to 11.4.0 and I have this error which: /Users/....xcodeproj Missing package product 'FirebaseRemoteConfigSwift'

Any idea?

thx

sebastienL avatar Oct 23 '24 15:10 sebastienL

FirebaseRemoteConfigSwift should be removed. It was merged into FirebaseRemoteConfig.

paulb777 avatar Oct 23 '24 15:10 paulb777

I updated to 11.4.0, I have ENABLE_DEBUG_DYLIB set to true and every time I run the app on the simulator my team gets an email warning them. I had to disable the script on development as someone else suggested.

It doesn't look like the issue has been solved to me.

as @VValiente mentioned, it would be nice to confirm if this has been solved or not. I cleaned up the project, worked on it for multiple days and still getting the dSYM failure on the console + emails. Thanks 👍

lluisgerard avatar Oct 24 '24 08:10 lluisgerard

Screenshot 2024-10-03 at 11 13 16 AM I get it while validating the release build from Xcode 16. How to get rid of these warnings ?

Any ETA on this that may help!? I'm having the same issue right now.

porsalud-source avatar Oct 24 '24 21:10 porsalud-source

Any update on this? I am still having this issue.

jfrazzle123 avatar Oct 25 '24 19:10 jfrazzle123

Is this going to cause an App Review rejection? What happens if we ignore this warning? The issue still exists in 11.4 as others pointed out.

rawmean avatar Oct 25 '24 22:10 rawmean

Is this going to cause an App Review rejection? What happens if we ignore this warning? The issue still exists in 11.4 as others pointed out.

If it helps to you, I already Validated and Distributed my app to Appstore. So far they didn't say anything about it. I don't think that warnings may cause your app to be rejected. (Warnings, not Errors)

porsalud-source avatar Oct 25 '24 22:10 porsalud-source

Is this going to cause an App Review rejection? What happens if we ignore this warning? The issue still exists in 11.4 as others pointed out.

I was able to submit an app that had the warning and my submission was approved, FYI.

kennywyland avatar Oct 25 '24 22:10 kennywyland

The submission is getting approved but the warnings are still coming even after updating to 11.4.0. @paulb777 Any update/ETA on this?

JaskiratSinghGFG avatar Oct 28 '24 05:10 JaskiratSinghGFG