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

Add iOS debug symbols to release assets #2233

Closed
cgalvan opened this issue Apr 4, 2024 · 3 comments · Fixed by #2234
Closed

Add iOS debug symbols to release assets #2233

cgalvan opened this issue Apr 4, 2024 · 3 comments · Fixed by #2234
Assignees
Labels
build Related to build, configuration or CI/CD iOS

Comments

@cgalvan
Copy link
Collaborator

cgalvan commented Apr 4, 2024

Is your feature request related to a problem? Please describe.
It would be beneficial to users if we include the iOS debugging symbols (dSYM file) in our release assets. This would allow users to better debug stack traces from crashes they encounter when using the MapLibre library.

Describe the solution you'd like
The release build process (for iOS) should include generating the debugging symbols (dSYM file) and the symbol file should be included in the published release assets.

Describe alternatives you've considered
The alternative would be for the user to download the source from the release and build the debug symbols, but they won't match the release binary exactly unless the UUID matches, which would take a number of factors (e.g. XCode version, Mac OS version) as well as some non-deterministic factors such as build timestamps and number of cores on build system.

So I believe building/publishing the matching debug symbols for our release binaries is the best path forward for our users.

Additional context
This request is specifically for iOS, but we should look at doing the same for our other supported platforms as well.

@louwers louwers self-assigned this Apr 4, 2024
@louwers
Copy link
Collaborator

louwers commented Apr 4, 2024

@louwers louwers added build Related to build, configuration or CI/CD iOS labels Apr 4, 2024
@louwers
Copy link
Collaborator

louwers commented Apr 4, 2024

I can distribute these files alongside releases:

  bazel-bin/platform/ios/MapLibre.dynamic_dsyms/MapLibre_ios_device.framework.dSYM/Contents/Resources/DWARF/MapLibre_ios_device
  bazel-bin/platform/ios/MapLibre.dynamic_dsyms/MapLibre_ios_device.framework.dSYM/Contents/Info.plist
  bazel-bin/platform/ios/MapLibre.dynamic_dsyms/MapLibre_ios_simulator.framework.dSYM/Contents/Resources/DWARF/MapLibre_ios_simulator
  bazel-bin/platform/ios/MapLibre.dynamic_dsyms/MapLibre_ios_simulator.framework.dSYM/Contents/Info.plist`

@cgalvan iThe iOS dSYM file is about 150MB and the one for the simulator is 300MB. Do you need both?

@cgalvan
Copy link
Collaborator Author

cgalvan commented Apr 4, 2024

@louwers We should only need the dSYM file for device. When running in simulator we should be able to already get proper debugging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to build, configuration or CI/CD iOS
Projects
Development

Successfully merging a pull request may close this issue.

2 participants