-
Notifications
You must be signed in to change notification settings - Fork 28.4k
Export an IPA for distribution via "flutter build ipa" without --export-options-plist #97672
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
Merged
+436
−99
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
hellohuanlin
approved these changes
Feb 3, 2022
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.
finger crossed this time
Me too, I'll watch it go through post-submit, ready on the Revert button... |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 3, 2022
…t --export-options-plist (flutter/flutter#97672)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 3, 2022
…t --export-options-plist (flutter/flutter#97672)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 3, 2022
…t --export-options-plist (flutter/flutter#97672)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 3, 2022
…t --export-options-plist (flutter/flutter#97672)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 3, 2022
…t --export-options-plist (flutter/flutter#97672)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/plugins
that referenced
this pull request
Feb 4, 2022
…t --export-options-plist (flutter/flutter#97672)
clocksmith
pushed a commit
to clocksmith/flutter
that referenced
this pull request
Mar 8, 2022
3 tasks
sfshaza2
pushed a commit
to flutter/website
that referenced
this pull request
Apr 12, 2022
* Fastlane: build Xcode project only once Fortunately, we don't have to rebuild the entire iOS project anymore :) It actually looks like we will be able to update these docs again in the near future after @jmagman's PR flutter/flutter#97672 lands on stable. At that point, most projects can skip the `fastlane build_app` step altogether. It may be worth mentioning that `build_app` can be used to set Xcode values like `configuration` which is really helpful if you are using fastlane match and you want to have separate configurations for ad-hoc vs app store builds (without authoring a plist file). * fix ipa * flutter build ipa instead of ios
This was referenced Apr 13, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
platform-ios
iOS applications specifically
t: xcode
"xcodebuild" on iOS and general Xcode project management
tool
Affects the "flutter" command-line tool. See also t: labels.
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.
Reland #97243 reverted in #97614.
Instead of making the IPA a tool failure, instead log the error but exit successfully since the step 1 below still succeeded.
flutter build ipa
has two stages for iOS distribution:xcarchive
bundle.xcarchive
into anipa
bundle for distribution to the App Store, or to a device, or enterprise distribution...Currently to get to number 2 and create the
ipa
file users need to pass in a--export-options-plist
file, which they need to create themselves, or know how to yank off a previously-build IPA. Flutter's iOS distribution docs don't say what needs to go into the plist, it just points to Apple docs, or tells them to launch Xcode and create the IPA there.In this PR, if the user doesn't pass
--export-options-plist
, instead of bailing after thexcarchive
, assume the user wants the most common case: to distribute their app to the App Store via the new--export-method
option and its defaultapp-store
. Create the plist if one isn't passed in, with reasonable defaults for the most common settings for a Flutter app. If it fails (they haven't registered their app bundle ID for example), suggest they open the archive in Xcode and go through its wizard, as the docs currently suggest.Allow the user to also specify
--export-method ad-hoc
or--export-method development
or--export-method enterprise
. See https://developer.apple.com/forums/thread/100614 for the distinction.If the user has a more complicated scenario, they can continue to create their own plist via
--export-options-plist
, or open with Xcode.We can add other options in the future for other values in the generated plist, if developers request it.
Command logging examples
Success
Flag validation error
IPA creation failure
The bundle identifier isn't set up, which needs to be resolved in Xcode's UI:
Help text
Fixes #97179
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.