Must upload one dSYM file is always showing in Firebase Crashlytics - firebase

I am developing a react native app and I am using Firebase Crashlytics. On my Crashlytics "dashboard" is showing that I must upload a dSYM file when the selected platform is IOS. I already followed the steps that Firebase suggests (after that is shown in my terminal the message "Successfully uploaded Crashlytics symbols") and tried different suggestions from another questions, but the warning is still there. I have seen some people saying that it could take 24 hours, but I am trying to resolve this for two days
Hope you can help me.
Thanks.

Firebaser here - I recommend starting here and going through the whole doc to try out all the listed suggestions: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?platform=ios.
In general, "Successfully uploaded Crashlytics symbols" only means that the execution of the terminal command and the submission of whichever files you picked was successful, not necessarily that the correct dSYMs were uploaded. To check if the dSYMs you uploaded were the ones that were missing in the Crashlytics console, you can run the following command and compare the output to the missing dSYMs tab:
dwarfdump -u /path/to/dSYM
If the dSYMs aren't the correct ones, you may want to check where you're downloading them from. If you've only tried your local Xcode archives, try downloading from App Store Connect (if the app has been registered with the App Store).
Otherwise, you can try this command to find any downloaded/archived dSYMs that match the ones from your missing dSYMs tab on Firebase:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

Related

GitLab pipeline merge request failed: Invalid Firebase project selection

I've been trying to merge a source branch with a target branch, but have consistently gotten the following error message on my failed job(s):
$ firebase use project_name --token $FIREBASE_TOKEN
Error: Invalid project selection, please verify project project-name exists and you have access.
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1
I have followed the advice from this thread and logged out/in from Firebase to use the project again, which unfortunately hasn't worked:
firebase logout
firebase login
firebase use project_name
I've triple-checked that I'm using the correct project name in Firebase, rather than the name of my Gitlab repo.
Unsure if it's related, but when setting up the merge request, GitLab notes that The source branch is 3 commits behind the target branch. I don't believe this is part of the issue, but worth bringing up.
Merging branches has never been an issue until today, and this is the first time I'm seeing this particular error causing the failed jobs. Any advice is appreciated
EDIT:
I added a screenshot image of the projects list, showing I've logged into the necessary Project by Project ID on Firebase. Everything should be connected, but I can't see what I'm missing that's causing the failed jobs.
UPDATE:
I've added firebase projects:list within the pipeline editor and get the following error message.
The issue I have here is I cannot find a firebase-debug.log file, after searching ways to find it, and trying to recreate the file by commenting out # firebase-debug.log* in my .gitignore file and running firebase init to try solutions from posts like this. Any thoughts on the original merging issue or how to find firebase-debug.log to move closer to a solution are greatly appreciated.
The setup appears incorrect for CI; eg. one doesn't need to pass $FIREBASE_TOKEN.
The issue might even stem from, that you use --token once and then not anymore.
Please refer to the user manual: https://github.com/firebase/firebase-tools/#general
Using a service account might be the least troublesome.
There's also a login --reauth option; and login:ci.

ERROR: Failed to create project. See firebase-debug.log for more info

i Found 0 Firebase projects.
✔ Enter a project id for your new Firebase project (e.g. my-cool-project) · onoja
i New Firebase project onoja created succesfully.
FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command.
COMMAND: firebase projects:create onoja --json
ERROR: Failed to create project. See firebase-debug.log for more info.
This might be caused because you're using a new firebase account on Google or because you haven't set up the proper analytics on your Google firebase account.
I got rid of this by going into Google and setting up the project manually with all their various dialogues and then from thereon all other projects did not have this error in the CLI
if you just start using flutterfire configure for the first time. It means you haven't agreed any terms of use. You should go to firebase console on website first. Then start to build any project you want. You would asked to sign some papers during this process. Once it's done, you could use the terminal without the same error.
try
$ firebase login --reauth
if it does not work try
Open terminal.
vim .zshrc
Press "i" key to activate insert mode.
add export PATH="$PATH":"$HOME/.pub-cache/bin"
Press "Esc" then write :wq in terminal and press enter to exit vim.
Reopen the terminal and check "flutterfire --version"
firebase login
flutterfire configure
if the solution above does not work try to create a project on firebase console manually, and in visual studio command flutterfire configure
I solved the problem of creating a Flutter project in the command line.
Simply, the Project name should be less than 30 characters.
Please I hope you get the correct answer.
^^

Can't deploy Cloud Functions because of "Unhandled error cleaning up build images"

I've deployed hundreds of function and this is the first time I encounter this issue. Simply, it stops deploying function process, saying:
Unhandled error cleaning up build images. This could result in a small monthly bill if not corrected. You can attempt to delete these images by redeploying or you can delete them manually at https://console.cloud.google.com/gcr/images/[project-name]/us/gcf
The way I deploy is through Firebase CLI command: firebase deploy --only functions:nameOfFunction
Question is what are those images I have to delete? Why? How can I solve it?
Cloud Functions uses another product called Cloud Build to build the server images that actually get deployed. Those images are stored in Cloud Storage, and that storage is billed to your account.
Read more about it:
https://github.com/firebase/firebase-tools/issues/3404
https://krasimirtsonev.com/blog/article/firebase-gcp-saving-money
Watch:
https://www.youtube.com/watch?v=aHaI0jZ5rwM
You should be able to locate and delete the files manually in the Google Cloud console. But it sounds like there is a bug here with the files not being cleaned up automatically, so you contact Firebase support directly.
For me the issue appeared to be related to my GCF billing (https://console.cloud.google.com/billing)
I had to go to my billing account to see that my payment method was expired or something, and GCF had forecasted a monthly cost of $0.01, so deploying cloud functions was sort of locked until I updated the payment method. Then the deploy immediately worked again after updating it. The build-cleanup console warning also disappeared.
The error I was seeing in my function logs in firebase console was "billing account is not available". Which I found almost zero results for in Google. Which is why I'm posting it here.
For me, the issue was caused by a silly typo.
The error:
Functions deploy had errors with the following functions:
sendNotification(europe-west) i functions: cleaning up build files... ⚠ functions: Unhandled error cleaning up build images. This
could result in a small monthly bill if not corrected. You can attempt
to delete these images by redeploying or you can delete them manually
at...
The fix was choosing the right region.
The incorrect region:
exports.sendNotification = functions
.region("europe-west")...
The correct region:
exports.sendNotification = functions
.region("europe-west3")...
Go to https://console.cloud.google.com/apis/api/artifactregistry.googleapis.com/overview
select your project
enable Artifact Registry API
deploy functions again
In my experience going into Cloud Storage didn't solve the issue: there was no image there to be deleted.
I solved by changing the Node version, moving from 18 to 14.0.0
nvm install 14.0.0
nvm use 14.0.0
Check your Function logs, by either navigating through functions in the Firebase console or through https://console.cloud.google.com/logs
For me, the logs indicated that one of my typescript files had compiled under the wrong name and it was messing up the build.
Check the logs!
General troubleshooting tips given the variety of answers here:
if build is failing, read for other errors further up in the build output
add --debug to your CLI call, i.e.:
firebase deploy --only functions --debug
With --debug I found this in my output: "Permission 'artifactregistry.packages.delete' denied on resource"
My solution was to add Artifact Registry Administrator role to the IAM user deploying the function (in addition to Firebase Admin & Service Account User roles).

How long it takes for a firebase hosting to work?

I followed the instructions, and deployed a simple web yesterday. At first, it kept showing the default website, saying " you've deployed successfully...", not my web.
Also, the 'firebase open' command + "Hosting: Deployed Site" leads to a undefined site:' undefined.firebaseapp.com '.
But, magically, about an hour later when I open the link from 'firebase console' again, the web showed up... I am not sure whether 'firebase open' command worked cause I didn't try.
Today, I added some features, and deployed again. In the firebase CLI, it said deployed. But, the link still showed the old version.
I'll catch up an hours later to see whether it works, but even it works, it takes too long.
has anyone had the same experience? what's wrong with my web?
Thanks.
This is how I solved this issue for my angular 7 app deployment on Firebase hosting:
ng build --prod
go to dist/myproject and run command Firebase init and...
I went to dist/myproject that now contain build files along with Firebase related files. Copy all files except Firebase related files to dist folder in side dist/myproject.
there you will get overwrite warning just select overwrite option.
after copy process completes, run command Firebase deploy.
after completion of process go to shown URL and there you will find your running app.

Xcode Code Sign error: Provisioning profile 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' can't be found

I submitted a couple apps last week that were revoked by Apple. I fixed them and tried to sumbit these apps again.
I have been getting this error for two days. I erased all my certificates and provisioning files on the provisioning portal and created all new ones . Also, I cleaned up everything in my keychain.
I am sure I am using the correct provisioning file in Xcode's build settings, and yet I still get this error. Why?
I solved this problem by the following steps:
Go to the file path where you save your provisioning file:
~/Library/MobileDevice/Provisioning Profiles
and remove all the provisioning files you have downloaded today.
Download the new provisioning file from the Apple member center that matches your project.
Press Command+B, rebuild the project, and see if this issue still exists.

Resources