-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Closed
Copy link
Labels
platform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyteam-toolOwned by Flutter Tool teamOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
Description
As mentioned in Anatomy of Framework Bundles, framework bundles for macOS are supposed to look like this:
flutter/packages/flutter_tools/lib/src/isolated/native_assets/macos/native_assets.dart
Lines 134 to 142 in f954fb7
| // MyFramework.framework/ frameworkDir | |
| // MyFramework -> Versions/Current/MyFramework dylibLink | |
| // Resources -> Versions/Current/Resources resourcesLink | |
| // Versions/ versionsDir | |
| // A/ versionADir | |
| // MyFramework dylibFile | |
| // Resources/ resourcesDir | |
| // Info.plist | |
| // Current -> A currentLink |
However, this:
flutter/packages/flutter_tools/lib/src/isolated/native_assets/macos/native_assets.dart
Lines 153 to 155 in f954fb7
| await resourcesLink.create( | |
| fileSystem.path.relative(resourcesDir.path, from: resourcesLink.parent.path), | |
| ); |
Makes the Resources link point to Versions/A/Resources instead of Versions/Current/Resources, which is rejected when uploading macOS apps to the App Store.
To reproduce:
- Add a new Flutter project, depend on a package contributing code assets. E.g. this one as an example.
- Follow the usual steps for macOS publishing.
- Try to build and release to AppStoreConnect, notice the following error:
ITMS-90291: Malformed Framework - The framework bundle sqlite3arm64macos (flutter_integration_tests.app/Contents/Frameworks/sqlite3arm64macos.framework) must contain a symbolic link 'Resources' -> 'Versions/Current/Resources'.
The fix is trivial and I'm happy to send a PR, just creating this issue to follow the requirements from the PR template :)
dcharkes, flowhorn, miguelzapp and scriptam
Metadata
Metadata
Assignees
Labels
platform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyteam-toolOwned by Flutter Tool teamOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.