Firebase crash error: symbolFileMappings:upsert: Request contains an invalid argument - ios

I have done all the required steps in https://firebase.google.com/docs/crash/ios to setup firebase crash reporting for my project. Then I set the run script as follow:
#Replaced GOOGLE_APP_ID
GOOGLE_APP_ID=1:app:Id
#Replaced the Path to serviceAccount.json
"${PODS_ROOT}"/FirebaseCrash/upload sym"${SRCROOT}/myProjectFolder/ServiceAccount.json"
I have read all the available links about firebase crash installing some said to check the "Run script only when installing", this will remove the error but will not send the crash to firebase console. On the other hand when I check "Show environment variables in build log" only I get the following error:
/Users/test/Documents/Projects/myproject/Pods/FirebaseCrash/upload-sym-util.bash:377: error: symbolFileMappings:upsert: Request contains an invalid argument.
Xcode 8.2.1
Actually I have done all these steps in another project and it works fine but I have problem in this project. Is there any reason for this error?

I am not sure but if you try then your problem may be solved.
accept ToS at https://console.cloud.google.com/
Give "Editor" role to your Service Account created for uploading symbols as described here https://firebase.google.com/docs/crash/ios#set_up_crash_reporting

Related

This bundle is invalid - The Info.plist file for PersonalizedAdConsent.framework is missing or could not be read

The title error is what gets emailed after uploading the ipa via the application loader and below is the error that occurs in debug mode:
ERROR: "The framework
APPNAME.app/Frameworks/PersonalizedAdConsent.framework does not
contain a binary named PersonalizedAdConsent"
I've been getting this error in debug mode when trying to build the project. However, when I build it in Ad-Hoc mode, it builds fine and uploads on the application loader without any issues but then I get the following mail
"This bundle is invalid - The Info.plist file for
PersonalizedAdConsent.framework is missing or could not be read."
I've looked in the Info.plist file as well as .csproj file for this reference and I cannot find it anywhere.
Also searched online, can't find much about the PersonalizedAdConsent.
Any ideas?
So it seems like the issue was because of the following packages:
Xamarin.Google.iOS.MobileAds
&
Xamarin.Firebase.Ads
As far as I can tell, the app needs permissions to request consent to display ads or personalized ads (not too sure exactly) and it build correctly after removing these packages.
These were in a build that I've done on Windows for a different app which did not actually use them but VS for MAC gave me the issues and it turned out to be these packages that were causing it.
Hope it helps!

Firebase crashes unreadable

I have a problem reading crash reports on FireBase, my reports look like:
I've already followed these instructions to symbolicate the stacktrace, got the same result.
I'm using Xcode 8
My app is made in Swift 3
Already wrote "FIRApp.configure()" in my
appDelegate.didFinishLaunchingWithOptions method, did make it crash, deattach the debbuger, fix the error, re-run the app, got message "Crash successfully uploaded", etc...
I'm using pods(pod 'Firebase' and pod 'Firebase/Crash')
I see in the FireBase console my events and crashes(just are
unreadable)
Installed the script for symbolicate automatically on build(see image):
Already downloaded FireBase provided examples(crash example does not include the scripting for symbolicate automatically)
Already followed this solutions(which didn't work):
link1
link2
and many others.
Already visited last 6 months links on stackoverflow and google groups with this problem.
Nothing has worked, help please!!!
Update#1: I received an email from firebase-support#google.com saying:
reset your OAuth credentials
Didn't work, also I've been testing the script and the upload is correct, I'm starting to think is a Firebase bug
Your upload script doesn't appear to be setting the GOOGLE_APP_ID var.It should something like:
# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
1:xxxxxxxxx:ios:xxxxxxxxxxx=1:my:app:id
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "firebasecrash/firebasecrashreport.json"
Here firebasecrashreport.json is name of ServiceAccount JSON file and firebasecrash is name of my project.
Your upload script doesn't appear to be setting the GOOGLE_APP_ID env var. The upload run script step should look something like the following:
# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:1234567890123:ios:1234abc567de89
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "/Users/yourname/yourproject/Your Project Name-5632e387efda6.json"
The below question I answered is a problem similar to yours.
Firebase iOS multiple errors when uploading symbol files
Finally, eureka!
I'm not sure about what was the mistake but I paste it here in case anyone is experiencig the same error:
1) I deleted my app on Firebase console
2) Create in Firebase console a new app with different name
3) Create and download a new GoogleService-Info.plist
4) Delete previous keys(rm $HOME/Library/Preferences/com.google.SymbolUpload*)
5) Create new firebase crash configuration
6) Copy the obtained file on step 5 to my root path on my project
7) Enable all permissions in firebase scripts
chmod -R 777 ./Pods/FirebaseCrash
8) Added the script phase as mentioned in the firebase configuration link mentioned in step 5 (I noticed that my not working previous configuration had blank spaces in name, so I created a non blank spaces name)
And finally(I don't know exactly wy) is working:

Firebase iOS Failed to fetch default token Error Domain=com.firebase.iid Code=6 "(null)"

I keep getting the error in the title when I run my Firebase application. I believe it is preventing me from executing database queries. For example FIRAuth.auth()?.currentUser is nil after logging in.
After research, I believe I have to add a keychain to my project. When I turn on keychain sharing in (xCode -> targets -> capabilities) I get the error in the screen cap below.
Do I need to add some sort of certificate in Keychain Access (application)?
I'm not using the messaging feature, so I don't think I need to add the .p12 certificate suggested here.
Do I need to add some sort of keychain in the Firebase console?
I've confirmed that my BundleID is correct.
Do I need to change something here:
I have followed all the setup steps here.
I found the solution https://groups.google.com/forum/#!msg/firebase-talk/xvjyJUMFL1Y/rhsF7EQEBQAJ
There's a bug in my version of Firebase -- pod update resolved this issue

Firebase Crash Reporting: Failed to transmit crash: Error 403

Did anyone tried new Firebase Crash reporting?
I am stuck with following error after creating a crash .
CrashReporter[4248:] Firebase Analytics enabled
2016-05-27 09:22:07.579 CrashReporter[4248:68995] Firebase Crash Reporting: Failed to transmit crash: Error Domain=com.google.FirebaseCrash Code=1 "Upload failed" UserInfo={NSLocalizedDescription=Upload failed, NSLocalizedFailureReason=HTTP Error Code 403: {
This occurs when you have a missing or incorrect API_KEY, which is read out of your GoogleService-Info.plist file. I would check the following:
1) Confirm your GoogleService-Info.plist file contains an API_KEY. There is a rare bug where you can download the file and this field is not inserted. If the API_KEY is missing, download a new GoogleService-Info.plist file (click on your project, click the gear icon in the upper left of the screen, click project settings, select your app, and download a new config file).
2) Confirm you're using the correct GoogleService-Info.plist file. If you setup two projects, make sure both projects are using different files, and they aren't mixed up.
3) Make sure your GoogleService-Info.plist file wasn't renamed to something like GoogleService-Info.plist (1) by your web browser. If it was, rename it back to GoogleService-Info.plist
Edit: This can also be due to a CFBundleVersion or CFBundleShortVersionString not being a major.minor.patch, all numeric. The restriction on CFBundleVersion is getting dropped soon (along with a better error message)

Code signing issue with embedded frameworks

My iOS enterprise signed app failed to install in device at times. The log from device console shows that the code signing for one of the embedded framework is the issue.
<Error>: 0x16e3eb000 __MobileInstallationInstallForLaunchServices_block_invoke222: Returned error Error Domain=MIInstallerErrorDomain Code=13
"Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.joar7U/extracted/Payload/MyApp.app/Frameworks/MyAppFramework.framework : 0xe8008001 (An unknown error has occurred.)"
UserInfo={LibMISErrorNumber=-402620415, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=142, FunctionName=+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:],
NSLocalizedDescription=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.joar7U/extracted/Payload/MyApp.app/Frameworks/MyAppFramework.framework : 0xe8008001 (An unknown error has occurred.)}
This issues doesn't come all the time, but when this happens I notice that _codesignature folder inside ipa for the framework contains 4 files. (codeDirectory, codeResources, codeSignature and codeRequirements ). On a normal case I only see CodeResources. I also notice that the variables inside info.plist file is not expanded.
I tried to validate via the code sign tool using "codesign -vvv" I get the code sign is valid. It tried clean before build but the issue occurs after that too.
Any help or pointer is much appreciated.
Changing the bundle identifier for any embedded framework definitely seems to do the trick. I'm not even sure it matters what you change it to as long as it has it set.
The issue in my case was empty "PRODUCT_BUNDLE_IDENTIFIER". Even though CFBUNDLE_IDENTIFIER is set, xcodebuild expects it(PBI) too in case of embedded frameworks.
But it is really strange that only few of the builds are corrupted.

Resources