-
Notifications
You must be signed in to change notification settings - Fork 29.8k
[iOS] Copy Flutter.framework.dSYM into app archive #153215
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
Conversation
5e80009 to
4b2a885
Compare
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
4b2a885 to
7b0e1e4
Compare
|
I have an alternate version of this patch that unifies the |
jonahwilliams
left a comment
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
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
As of flutter/flutter#153215, end user app archives now include symbols for the Flutter framework by default. So manual symbolication is no longer required. For engine developers and others who still need to deal with manual symbols, they can now be found in the Flutter tool cache and can thus be obtained from there if required. Issue: flutter/flutter#116493 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Manual roll requested by tarrinneal@google.com flutter/flutter@b12d861...9b84701 2024-08-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1a5e2e58d3d4 to 5fea110c3b20 (1 revision) (flutter/flutter#153262) 2024-08-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from d409dcdc9b41 to 1a5e2e58d3d4 (3 revisions) (flutter/flutter#153257) 2024-08-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from c11fe483947c to d409dcdc9b41 (3 revisions) (flutter/flutter#153233) 2024-08-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2c910fc878b6 to c11fe483947c (1 revision) (flutter/flutter#153229) 2024-08-10 chris@bracken.jp [iOS] Copy Flutter.framework.dSYM into app archive (flutter/flutter#153215) 2024-08-10 zanderso@users.noreply.github.com In native_assets_test, ignore a failure to delete a temp directory (flutter/flutter#153223) 2024-08-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0560465ecd36 to 2c910fc878b6 (1 revision) (flutter/flutter#153224) 2024-08-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3acd373923c9 to 0560465ecd36 (2 revisions) (flutter/flutter#153216) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC rmistry@google.com,stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
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
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
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
This fix is in Flutter 3.24 (the current |
|
flutter/engine#54414 (comment) There may be a way to do this manually by copying the Flutter dSYMs into your project: https://stackoverflow.com/a/52417617/431116 |
@cbracken Thanks a lot, But Flutter So will you merge this bugfix to Flutter |
No, we will not be bug fixing to any previously releases. However, you should have a relatively easy workaround:
|
Thanks, but i cannot find |
|
That StackOverflow link is showing how to embed a random dSYM in your Xcode project, their example is Realm. Instead of their example, use the Flutter.dSYM (which is what this issue was tracking). It's located in your Flutter SDK directory at |
Thanks, but i cannot find a
|
Okay this is a good point, it doesn't exist on Flutter 3.22, it's only in 3.24 or later, which is the problem! |
I did as your guide, but i still got this problem, it seems that the UUID doesn't match.
|
|
@lanistor can you file a new issue? We would use it as a request to make https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios better. |
|
Having the same issue here. I can't upgrade the flutter version because this is gonna break my project. But willing to refactor later in time. I'm confused by which fix to apply. Should I downgrade my xcode? Also can I just ignore the warning for now or it will not let me push the build for distribution? |
|
@GhassanAlKaraan I'm not sure why a combo of the instructions at https://github.com/flutter/engine/blob/main/docs/Crashes.md#ios and https://stackoverflow.com/questions/50947279/how-to-include-dsym-file-of-an-embedded-framework-to-an-app-archive/52417617#52417617 aren't working.
|
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
I encountered an issue while using the add-to-app method. The iOS app doesn't compile due to "Multiple commands produce |
|
@dawid-niedzwiecki Can you file a new issue that describes what you are seeing and how to reproduce it? Thank you! |
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
|
@dawid-niedzwiecki and @jmagman We have the same issue. I could reproduce it by taking the multiple-flutters example and changed it from the I created an issue with more detailed reproduction steps: #158005 |






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-releasetools archive as of engine patches:This copies the Flutter.framework.dSYM bundle from the tools cache to the app archive produced by
flutter build ipa.Issue: #116493
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.