-
Notifications
You must be signed in to change notification settings - Fork 28.5k
App Clip uncompressed size is larger than 10MB #71098
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
Comments
The measured App.framework/App is already building with split-debug-info, which went from 2,057,088 bytes to 1,774,672. |
#71102 brings it down by a bit
Looks like the NOTICES part is down by ~700kB. |
Does this mean it's under the 10mb limit now to use in production? |
@xster any updates on when this will be addressed? |
Correct, it's still over 10mb currently unfortunately. I don't have an ETA for when it'll be addressed. |
This comment was marked as duplicate.
This comment was marked as duplicate.
@xster bump :). (since it's been 2 months since request for info and 6 months since your last comment hope you don't mind gentle bump |
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as off-topic.
This comment was marked as off-topic.
Was anyone able to submit Flutter App Clips to the Store with iOS 16? |
Would be cool to have a flutter create generated target for app clips in the future if the engine keeps getting smaller and apple keeps moving in the app clip direction. |
So the existing documentation on the flutter.dev site is here and may need an update if it turns out we can fit into 15MB? |
Yes, that's correct, the note should be updated. https://docs.flutter.dev/development/platform-integration/ios/ios-app-clip Was anyone able to submit Flutter App Clips to the Store with iOS 16? |
I just tried to build an empty AppClip with Flutter and got around 14.9 MB, leaving little room for app code even by iOS 16 standards. I'm trying to analyse size now, but from what I can see, submitting App Clips with Flutter might not be possible yet. |
Do we know where most of the size is coming from? Anything we can exclude to make it smaller? |
It seems to me (as a flutter noob) to be the Framework itself being so large |
my experiment is that, if you don't use "flutter/material", the size comes down to 12.8M |
That’s interesting. Could be fun to try and add basic UI icons (no material) and some basic HTTP request see how much space it requires. Then it seems like it could work 🤔 |
Regarding app clip in a Flutter app, i did also struggle with the size, but what i did in the end was to develop the app clip in swiftui. It's just a separate target in xcode, separated from the Flutter code, so in that way it's possible. Now, my clients app wasn't that advanced so it went quite well with my basic knowledge of swiftui. And maybe this is the only way to ship a Flutter app with an app clip, for now. |
Just an idea: What about having the actual Flutter UI on a Web Server and simply implementing a WebView in a swiftUI-App?Am 30.08.2023 um 08:49 schrieb jimad ***@***.***>:
Regarding app clip in a Flutter app, i did also struggle with the size, but what i did in the end was to develop the app clip in swiftui. It's just a separate target in xcode, separated from the Flutter code, so in that way it's possible. Now, my clients app wasn't that advanced so it went quite well with my basic knowledge of swiftui. And maybe this is the only way to ship a Flutter app with an app clip, for now.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
Your Idea is great, i've tested and works. Simply add AppClip target and then add simply SwiftUI code for rendering a web page witch use flutter. I had some trouble with adding flavos (Staging and debugging bundle) but at the end i solved them. If someone need it i can share the SwiftUI code. |
Even if displaying a web view works, one thing to consider is Apple's human interface guidelines regarding web view. "Avoid using web views in your App Clip. App Clips use native components and frameworks to offer an app-quality experience. If only web components are available to you, offer a quick link to your website instead of an App Clip." https://developer.apple.com/design/human-interface-guidelines/app-clips If your app will be rejected due to this is hard to say, but it's good to keep this in mind. |
was someone able to deploy a clip app with flutter? |
I tried to remove exclude pods from the Podfile. but its excluding those pods from Main application target as well.someone find any solution with flutter app?. Unfortunately we can't create new separate app clip app to reduce size because its binding with application. Anyone have idea to add |
Now the limit is 50Mb on ios17 |
Only for web-launched AppClips! Not for NFC / QR ones
… Now the limit is 50Mb on ios17
|
Targeting iOS 17 increases the limit to 15MB; Please update the flutter webpage describing use of iOS App Clip |
From that WWDC video:
So targeting iOS 16 allows the 15MB limit. |
If doing an App Clip with Flutter could possibly be very limited by the size, would it be possible to create a Native AppClip(iOS)/Instant App(Android) within a Flutter Project? |
Yes, just implement it natively |
Yes, as you can see I wrote about that earlier. It's just another target in xcode, and that will use a separat prov profile. All those kind of stuff is well documented on apples dev site. Note, android instant apps does not support the nfc api (or at least it didn't some time ago), if you intend to use that for app clip invocation. |
|
Updating the sample flutter/samples#2162 |
_Description of what this PR is changing or adding, and why:_ 1. Update some Xcode screenshots to the current version of Xcode where the UI has significantly changed. 2. Mention the iOS 16 15MB app clip size limit. 3. Remove "Framework Search Paths" section, that was never necessary. _Issues fixed by this PR (if any):_ See flutter/flutter#71098 (comment) https://flutter-docs-prod--pr10145-app-clip-jej14gwc.web.app/platform-integration/ios/ios-app-clip ## Presubmit checklist - [x] This PR doesn’t contain automatically generated corrections (Grammarly or similar). - [x] This PR follows the [Google Developer Documentation Style Guidelines](https://developers.google.com/style) — for example, it doesn’t use _i.e._ or _e.g._, and it avoids _I_ and _we_ (first person). - [x] This PR uses [semantic line breaks](https://github.com/dart-lang/site-shared/blob/main/doc/writing-for-dart-and-flutter-websites.md#semantic-line-breaks) of 80 characters or fewer. --------- Co-authored-by: Shams Zakhour (ignore Sfshaza) <44418985+sfshaza2@users.noreply.github.com>
_Description of what this PR is changing or adding, and why:_ 1. Update some Xcode screenshots to the current version of Xcode where the UI has significantly changed. 2. Mention the iOS 16 15MB app clip size limit. 3. Remove "Framework Search Paths" section, that was never necessary. _Issues fixed by this PR (if any):_ See flutter/flutter#71098 (comment) https://flutter-docs-prod--pr10145-app-clip-jej14gwc.web.app/platform-integration/ios/ios-app-clip ## Presubmit checklist - [x] This PR doesn’t contain automatically generated corrections (Grammarly or similar). - [x] This PR follows the [Google Developer Documentation Style Guidelines](https://developers.google.com/style) — for example, it doesn’t use _i.e._ or _e.g._, and it avoids _I_ and _we_ (first person). - [x] This PR uses [semantic line breaks](https://github.com/dart-lang/site-shared/blob/main/doc/writing-for-dart-and-flutter-websites.md#semantic-line-breaks) of 80 characters or fewer. --------- Co-authored-by: Shams Zakhour (ignore Sfshaza) <44418985+sfshaza2@users.noreply.github.com>
1. Run `flutter run` on the project to pick up project automigrations. 2. Set min version to iOS 16 to take advantage of the 15MB size limit (see flutter/flutter#71098 (comment)) 3. Other updates needed to avoid Xcode errors and warnings. First introduced in #538 See also flutter/website#10145
_Description of what this PR is changing or adding, and why:_ 1. Update some Xcode screenshots to the current version of Xcode where the UI has significantly changed. 2. Mention the iOS 16 15MB app clip size limit. 3. Remove "Framework Search Paths" section, that was never necessary. _Issues fixed by this PR (if any):_ See flutter/flutter#71098 (comment) https://flutter-docs-prod--pr10145-app-clip-jej14gwc.web.app/platform-integration/ios/ios-app-clip ## Presubmit checklist - [x] This PR doesn’t contain automatically generated corrections (Grammarly or similar). - [x] This PR follows the [Google Developer Documentation Style Guidelines](https://developers.google.com/style) — for example, it doesn’t use _i.e._ or _e.g._, and it avoids _I_ and _we_ (first person). - [x] This PR uses [semantic line breaks](https://github.com/dart-lang/site-shared/blob/main/doc/writing-for-dart-and-flutter-websites.md#semantic-line-breaks) of 80 characters or fewer. --------- Co-authored-by: Shams Zakhour (ignore Sfshaza) <44418985+sfshaza2@users.noreply.github.com>
Hey @xster, is there anything we can do to help move this forward? Our App Clip (uncompressed, thinned) is currently at 14.9 MB (even after switching out P.S. I noticed that App Thinning doesn't seem to help much -- the IPA size for Universal variant is equal to the IPA size for all compatible variants. Is this something you've seen before, and if so, does it imply that we've misconfigured something? |
Submitting a minimal app currently exceeds the 10mb uncompressed size limit with a
ITMS-90865: Thinned app clip size is too large
on
1.24.0-8.0.pre.344
.Compressed, thinned IPA is 4.6mb, but the current uncompressed breakdown is:
Total: 11,289,773 bytes
The App.framework/App breakdown is:
The flutter package breakdown is:

The Flutter.framework/Flutter breakdown (on an equivalent Android libflutter.so, since we don't have a tool to break down iOS dylibs yet dart-lang/sdk#44278):
Possible explorations
[90k]
Dig more into what the AppClip binary is.[1.6m]
Build App.framework/App with split-debug-info.[781k]
The NOTICES file is huge. Since the uncompressed size is being measured here, there might be de-duplication potential. Deduplicate NOTICES #71102[1m]
The 70kb ld-temp.o and the 950kb unattributed code in the Flutter.framework/Flutter / libflutter.so is suspicious.The text was updated successfully, but these errors were encountered: