FirebaseCrashlytics auto upload-symbols problem
Asked Answered
D

0

11

I'm trying to implement new FirebaseCrashlytics in my iOS app and having some issues and some things are not clear at all.

As per Upgrade doc in step 3, I have to add following run script:

${PODS_ROOT}/FirebaseCrashlytics/run
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols

so, in my case it is:

"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols"

But compile was failing because:

Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode
[31merror: No Google App ID or Google Services file provided[0m
Command PhaseScriptExecution failed with a nonzero exit code

If I delete upload-symbols line it is working fine, I'm getting crashes in Dashboard, but as far as I understand this upload-symbols has to upload dSYM files of app users, so I have no worry about this. Means I still need it...

So I tried to replace them:

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols"
"${PODS_ROOT}/FirebaseCrashlytics/run" 

And it started to compile.

I did a force crash and got it in Dashboard, but also I got: enter image description here

Does it mean that it is not working and it is must be after run, so I continued and finished with:

"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}"

Now I was able to compile, but still getting optional dSYM in Dashboard.

Now I'm completely lost, if anyone can clarify it would be great.

PS: I'm able to use upload-symbols from terminal, but it is kind of manual job.

Few more questions as a discussion:

  1. Why in Upgrade docs it is run and upload script, but in Get started only run?
  2. In Upgrade docs it is exact path for ${PODS_ROOT}/FirebaseCrashlytics/run but not exact for /path/to/pods/directory/FirebaseCrashlytics/upload-symbols they are same folder, why not use same?
  3. in Get started docs there are input files and one of them is $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) why they are using (, not {?
  4. This path $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) is path to Info.plist file, not to GoogleService-Info.plist why they gave it then?)
Dudek answered 11/5, 2020 at 14:37 Comment(6)
I am also facing problems with it... my dsym files are always missing even though I do the steps properly... did you figure this out?Mure
As of now, no :(Dudek
For me when I am in debug and try to simulate a crash, I could see the entry, but with ipa no luckMure
I saw somewhere that if you enable bit code (in my project it is enabled), these dSYM won't give you any benefit and you still might need upload manually - maybe it is your case.Dudek
Yeah bit code is enabled... but I didn’t see this info in Google’s docMure
Finally I fixed my problem....if bitcode is enabled you have to download dysm from Appstore connect and manually upload it... once I did that...atleast some logs started workingMure

© 2022 - 2024 — McMap. All rights reserved.