This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
[iOS] Rename Flutter.dSYM to Flutter.framework.dSYM #54458
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Renames our Flutter framework dSYM to `Flutter.framework.dSYM` for consistency with all other dSYM bundle names. In iOS release archives, all other dSYM files are: * `App.framework`: `App.framework.dSYM` * `Runner.app`: `Runner.app.dSYM` We continue to archive the dSYM to `Flutter.dSYM.zip` for backward compatibility with the existing instructions for manual symbolification in `docs/Crashes.md` and to remain compatible with dart-lang/dart-ci's symbolizer which expects `Flutter.dSYM` in [`Symbolizer._symbolizeIosFrames`][symbolizer]. Issue: flutter/flutter#116493 symbolizer: https://github.com/dart-lang/dart_ci/blob/e9fd9884a2c76184f4d20eb8a1cb48f92ec63ab5/github-label-notifier/symbolizer/lib/symbolizer.dart#L530
9bd13ee
to
2670315
Compare
christopherfujino
approved these changes
Aug 9, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
zanderso
approved these changes
Aug 9, 2024
jmagman
approved these changes
Aug 9, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 9, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 9, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 9, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 9, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Aug 9, 2024
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Aug 9, 2024
…153143) flutter/engine@0520889...e50fd30 2024-08-09 [email protected] Roll Skia from 2eee5f248886 to bf9cf9b8fe9d (1 revision) (flutter/engine#54462) 2024-08-09 [email protected] Roll Skia from 5e8d9842cefa to 2eee5f248886 (1 revision) (flutter/engine#54461) 2024-08-09 [email protected] Roll Dart SDK from ff0404c72fc5 to 9222e4c96f4d (1 revision) (flutter/engine#54460) 2024-08-09 [email protected] Roll Skia from 4cff580721cf to 5e8d9842cefa (1 revision) (flutter/engine#54459) 2024-08-09 [email protected] [iOS] Rename Flutter.dSYM to Flutter.framework.dSYM (flutter/engine#54458) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
cbracken
added a commit
to cbracken/flutter
that referenced
this pull request
Aug 10, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
9 tasks
cbracken
added a commit
to cbracken/flutter
that referenced
this pull request
Aug 10, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
cbracken
added a commit
to cbracken/flutter
that referenced
this pull request
Aug 10, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
8 tasks
auto-submit bot
pushed a commit
that referenced
this pull request
Aug 10, 2024
As of the following three patches, we now bundle Flutter.framework.dSYM as part of Flutter.xcframework and bundle them in the .xcarchive bundles produced by `flutter build ipa` / Xcode Product > Archive for upload to the iOS App Store. * #54414 * #54458 * flutter/flutter#153215 The .dSYM bundle is now available both in the uploaded .xcarchive and in the xcframework in Flutter's internal artifact cache. For developers with CI toolchains that do additional manual handling or local archiving of .dSYMs, the dSYMs no longer need to be downloaded from cloud storage as previously detailed in `docs/Crashes.md`, but can instead be copied up from the appropriate dSYM subdirectory in the framework cache: * `flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework` Issue: flutter/flutter#116493 Credo: [Embrace the yak shave](https://suno.com/song/37cb7c43-85ad-40f2-87e6-9aec7baa0419) [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Aug 10, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: #116493
jmagman
pushed a commit
to flutteractionsbot/engine
that referenced
this pull request
Aug 12, 2024
Renames our Flutter framework dSYM to `Flutter.framework.dSYM` for consistency with all other dSYM bundle names. In iOS release archives, all other dSYM files are: * `App.framework`: `App.framework.dSYM` * `Runner.app`: `Runner.app.dSYM` We continue to archive the dSYM to `Flutter.dSYM.zip` for backward compatibility with the existing instructions for manual symbolification in `docs/Crashes.md` and to remain compatible with dart-lang/dart-ci's symbolizer which expects `Flutter.dSYM` in [`Symbolizer._symbolizeIosFrames`][symbolizer]. Followup to: flutter#54414 Issue: flutter/flutter#116493 Motto: [Embrace the yak shave][yak_shave]. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
5 tasks
flutteractionsbot
pushed a commit
to flutteractionsbot/flutter
that referenced
this pull request
Aug 12, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
auto-submit bot
pushed a commit
that referenced
this pull request
Aug 13, 2024
This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request) Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request. ### Issue Link: What is the link to the issue this cherry-pick is addressing? flutter/flutter#116493 Note this includes two PRs: #54414 #54458 ### Changelog Description: Bundle iOS framework debugging symbols (`Flutter.framework.dSYM`) in `Flutter.xcframework` in iOS release builds. This eliminates the need for manual download/bundling of Flutter debug symbols for release build crash log symbolication. As of Xcode 16, these symbols are required to be bundled with App Store archives. ### Impact Description: Without these bundled symbols, iOS App Store validation fails for Flutter apps under Xcode 16. ### Workaround: Is there a workaround for this issue? Users can follow the steps described in [docs/Crashes.md](https://github.com/flutter/engine/blob/main/docs/Crashes.md) to manually locate the engine SHA used in their Flutter app, download the Flutter.dSYM archive, and manually copy it into their app archive prior to App Store validation. This is very manual process with room for a lot of error. This process is not at all obvious or well-documented. ### Risk: What is the risk level of this cherry-pick? In the case where dSYM extraction fails, we'll know immediately since the build will fail. dSYMs can be verified using the steps below. ### Test Coverage: Are you confident that your fix is well-tested by automated tests? In this case the build itself will fail if dSYM extraction fails. Testing of bundling is covered in framework tool tests. ### Validation Steps: What are the steps to validate that this fix works? `artifacts.zip` can be checked at any commit on or after `c11fe483947c95553610ab59210af643f031f5f4`. For example https://storage.googleapis.com/flutter_infra_release/flutter/c11fe483947c95553610ab59210af643f031f5f4/ios-release/artifacts.zip Verify that Flutter.xcframework in this archive contains `ios-arm64/dSYMs/Flutter.framework.dSYM`.
DBowen33
pushed a commit
to DBowen33/flutter
that referenced
this pull request
Aug 16, 2024
…lutter#153143) flutter/engine@0520889...e50fd30 2024-08-09 [email protected] Roll Skia from 2eee5f248886 to bf9cf9b8fe9d (1 revision) (flutter/engine#54462) 2024-08-09 [email protected] Roll Skia from 5e8d9842cefa to 2eee5f248886 (1 revision) (flutter/engine#54461) 2024-08-09 [email protected] Roll Dart SDK from ff0404c72fc5 to 9222e4c96f4d (1 revision) (flutter/engine#54460) 2024-08-09 [email protected] Roll Skia from 4cff580721cf to 5e8d9842cefa (1 revision) (flutter/engine#54459) 2024-08-09 [email protected] [iOS] Rename Flutter.dSYM to Flutter.framework.dSYM (flutter/engine#54458) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
DBowen33
pushed a commit
to DBowen33/flutter
that referenced
this pull request
Aug 16, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
Buchimi
pushed a commit
to Buchimi/flutter
that referenced
this pull request
Sep 2, 2024
…lutter#153143) flutter/engine@0520889...e50fd30 2024-08-09 [email protected] Roll Skia from 2eee5f248886 to bf9cf9b8fe9d (1 revision) (flutter/engine#54462) 2024-08-09 [email protected] Roll Skia from 5e8d9842cefa to 2eee5f248886 (1 revision) (flutter/engine#54461) 2024-08-09 [email protected] Roll Dart SDK from ff0404c72fc5 to 9222e4c96f4d (1 revision) (flutter/engine#54460) 2024-08-09 [email protected] Roll Skia from 4cff580721cf to 5e8d9842cefa (1 revision) (flutter/engine#54459) 2024-08-09 [email protected] [iOS] Rename Flutter.dSYM to Flutter.framework.dSYM (flutter/engine#54458) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Buchimi
pushed a commit
to Buchimi/flutter
that referenced
this pull request
Sep 2, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
moffatman
pushed a commit
to moffatman/flutter
that referenced
this pull request
Oct 30, 2024
As of Xcode 16, App Store validation now requires that apps uploaded to the App store bundle dSYM debug information bundles for each Framework they embed. dSYM bundles are packaged in the Flutter.xcframework shipped in the `ios-release` tools archive as of engine patches: * flutter/engine#54414 * flutter/engine#54458 This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by `flutter build ipa`. Issue: flutter#116493
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Renames our Flutter framework dSYM to
Flutter.framework.dSYM
for consistency with all other dSYM bundle names. In iOS release archives, all other dSYM files are:App.framework
:App.framework.dSYM
Runner.app
:Runner.app.dSYM
We continue to archive the dSYM to
Flutter.dSYM.zip
for backward compatibility with the existing instructions for manual symbolification indocs/Crashes.md
and to remain compatible with dart-lang/dart-ci's symbolizer which expectsFlutter.dSYM
inSymbolizer._symbolizeIosFrames
.Followup to: #54414
Issue: flutter/flutter#116493
Motto: Embrace the yak shave.
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.