[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR]: Make Crashlytics upload-symbols compatible with visionOS #12306

Closed
treastrain opened this issue Jan 21, 2024 · 12 comments
Closed

[FR]: Make Crashlytics upload-symbols compatible with visionOS #12306

treastrain opened this issue Jan 21, 2024 · 12 comments

Comments

@treastrain
Copy link
treastrain commented Jan 21, 2024

Description

The flags present in Crashlytics upload-symbols at the moment (10.20.0) are:

% upload-symbols --help
usage: upload-symbols [flags] -- <paths>
flags:
	-gsp, --google-service-plist <path to Google service plist>
		The path to your app's GoogleService-Info.plist
	-ai, --app-id <Firebase app id>
		Provide your Firebase app id directly without parsing the Google service plist. This flag will supersede the -gsp, --google-service-plist flag.
	-p, --platform <platform name>
		The platform for which the dSYM was compiled. Either: 'ios', 'mac', 'tvos'. Catalyst apps should be the 'mac' platform.
	-d, --debug
		Output extra debug logging while running
	-bp, --build-phase
		Build Phase Mode is meant to be run as an Xcode Run Script Build Phase. It finds the dSYMs and platform from the build environment variables, instead of having the caller pass them in. With this flag, <paths> and --platform can be omitted.
	-val, --validate
		Only validate the arguments and environment, then stop. This is useful in an Xcode Run Script Build Phase because it won't add to the build time, but it will report errors if the script isn't set up correctly.

<paths>
	list of one or more paths to dSYMs to upload, zip archives containing dSYMs (like those downloaded from iTunes Connect for recompiled bitcode apps), or a directory containing multiple dSYMs to be searched recursively
	Multiple paths of any kind may be provided, such as: "/path/to/.../app-name.dSYM [/path/to/.../build-products-directory /path/to/itunes-connect-archive [...]]"

	Note: archives downloaded from iTunes Connect do not have a .zip file extension. To verify the contents of such an archive, use 'unzip' or manually edit the filename to add the .zip extension and expand in Finder.

upload-symbols -h/--help prints this usage information
upload-symbols -v/--version prints version information

Visit https://firebase.google.com/support with questions or suggestions.

Of these, the <platform name> includes ios for official support, and mac and tvos for community support.

Today, the support for visionOS is in community support, to which I would like to add visionOS.


BTW, in my App project running on visionOS Simulator, I uploaded the dSYM by passing ios to --platform in upload-symbols and then uploaded it to I generated a test crash following the instructions in https://firebase.google.com/docs/crashlytics/test-implementation?platform=ios and it showed up in its dashboard 🎉

However, the operating system is shown as "iOS 1" (originally "visionOS 1") 😆

API Proposal

Add "visionos" to <platform name> in upload-symbols

Firebase Product(s)

Crashlytics

@google-oss-bot
Copy link

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

@treastrain
Copy link
Author

I would like to contribute for this but could not figure out how to edit the binary upload-symbols...

@themiswang
Copy link
Contributor

Hey @treastrain,

Thank you for the detailed description! We are not introducing platform specific behaviour and the platform flag is actually not used on our backend. Using ios is fine and we will updating the documentation for VisionPro soon. In terms of the progress of VisionPro support. I have updated a few deprecated kernel functions last year #11515 so the SDK now should be able to collecting crash report for VisionPro. There still a few works need to be done on console side to display correct device and we are also waiting physically device for testing.

@treastrain
Copy link
Author

@themiswang

Hi Anya, Thanks for replying! And I'm sorry I didn't search well and couldn't get to #11515. I'm unable to become an initial purchaser of the Apple Vision Pro because I live in Japan...

I would like to follow the progress of this, thanks to the help of its contributors!

@matteocrippa
Copy link

@themiswang it would be great to have the docs updated, I'm facing the same exact issue as above:

Adding error here so ppl will easily found a solution from the SERP.

Running upload-symbols in Build Phase mode
error: Could not get platform name from build environment

At the end the workaround for visionos is to follow this procedure and then tweak the script like this:

# Define variables
GOOGLE_PLIST_PATH="${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleService-Info.plist"
DSYM_PATH="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
PLATFORM_NAME="ios" # xros is not yet supported

# Specify path to upload-symbols script
UPLOAD_SYMBOLS_SCRIPT="${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/upload-symbols"

# Execute upload-symbols script
"${UPLOAD_SYMBOLS_SCRIPT}" -gsp "${GOOGLE_PLIST_PATH}" -p "${PLATFORM_NAME}" "${DSYM_PATH}"

@kanstantsin-bucha
Copy link

People of Google. Could you please take a look at the issue? It looks like 1 human hour job to support a new platform for you (because visionOS is the sister of iPadOS, all should be done by just updating the enum cases and docs)

@farshadtx
Copy link

+1

@themiswang
Copy link
Contributor

Hey folks,

Added fix to upload-symbol and it should ship with the next release 10.23.0, unblocked to identify xros as a new platform for --build-phase. If you are using -gsp --platform flags you can still passing ios as argument as the comment mentioned above. Thanks!

@matteocrippa
Copy link

thx @themiswang! 👍🏻

@kanstantsin-bucha
Copy link

@themiswang Thank you!

@morganchen12 morganchen12 added this to the 10.23.0 - M145 milestone Mar 7, 2024
@paulb777
Copy link
Member

The fix is merged. 10.23.0 should release the week of March 19th

@treastrain
Copy link
Author

Thank you very much 🥽🥽🥽

@firebase firebase locked and limited conversation to collaborators Apr 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants