Skip to content
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

feat(packaging): use Provisioning Profile to sign iOS app archive (.ipa), deprecate --team option #4868

Merged
merged 17 commits into from
Feb 20, 2025

Conversation

FeodorFitsner
Copy link
Contributor

@FeodorFitsner FeodorFitsner commented Feb 10, 2025

Close #4869
Close #4840
Close #4762

🍏 Improved iOS app archive (.ipa) signing

See updated docs here: https://flet.dev/docs/publish/ios

💥 Breaking changes:

  • --team option renamed to --ios-team-id.
  • --include-packages has been removed. Just add extension package into dependencies section of your pyproject.toml file: https://flet.dev/docs/extend/built-in-extensions
  • --cleanup-on-compile removed and two new options added to separate cleanup of app and 3rd-party site packages: --cleanup-app and --cleanup-packages. Two additional options: --cleanup-app-files and --cleanup-package-files work together with --cleanup-* and allow specifying lists of globs to exclude from app and site packages.
  • tool.flet.build_arch renamed to tool.flet.target_arch.

🚀 Other changes and enhancements:

  • Three new options for signing iOS packages: --ios-provisioning-profile (tool.flet.ios.provisioning_profile in pyproject.toml), --ios-export-method (tool.flet.ios.export_method in pyproject.toml) and --ios-signing-certificate (tool.flet.ios.signing_certificate in pyproject.toml) . --team option in flet build was renamed to --ios-team-id. provisioning_profile is the name of Provisioning Profile or its UUID. Profile and its certificates must be downloaded from App Store Connect and installed on user machine. export_method configures how iOS app archive (.ipa) is exported. Run xcodebuild -h for available options. Default is debugging (former development). tool.flet.ios.export_options could used to specify additional export options in generated exportOptions.plist.
  • New --bundle-id option and tool.flet.bundle_id in pyproject.toml. bundle_id allows overwriting the combination of {org}.{project_name} and it could be platform-specific, e.g. tool.flet.ios.bundle_id or tool.flet.android.bundle_id. If bundle_id is specified, but org not then org name is taken from bundle_id as the part before the last dot.
  • Added --source-packages (tool.flet.{platform}.source_packages in pyproject.toml) option to allow installing certain Python packages from source distributions.
  • --arch option to accept a list of target architectures, not just a single value.
  • Faster re-builds if certain parts of build configuration has not been changed.
  • Flutter upgraded to v3.27.4.
  • Pyodide 0.27.2.

@FeodorFitsner FeodorFitsner added this to the Flet v0.27.0 milestone Feb 10, 2025
@FeodorFitsner FeodorFitsner changed the title flet build: use Provisioning Profile to sign .ipa iOS bundle, deprecate --team option flet build: use Provisioning Profile to sign iOS app archive (.ipa), deprecate --team option Feb 10, 2025
@FeodorFitsner FeodorFitsner removed this from the Flet v0.27.0 milestone Feb 10, 2025
@ndonkoHenri ndonkoHenri changed the title flet build: use Provisioning Profile to sign iOS app archive (.ipa), deprecate --team option feat(packaging): use Provisioning Profile to sign iOS app archive (.ipa), deprecate --team option Feb 17, 2025
@FeodorFitsner FeodorFitsner merged commit 232d9d4 into main Feb 20, 2025
2 checks passed
@FeodorFitsner FeodorFitsner deleted the feodor/ipa-build-fixes branch February 20, 2025 02:39
@yoberner
Copy link

Thank you! When will this be released?

@FeodorFitsner
Copy link
Contributor Author

Thank you! When will this be released?

Flet 0.27 is coming tomorrow, but you can try this now with Flet pre-release: https://pypi.org/project/flet/0.27.0.dev4158/

@FeodorFitsner
Copy link
Contributor Author

The docs (still in progress): https://flet-0-27.flet-website.pages.dev/docs/publish/ios

@FeodorFitsner
Copy link
Contributor Author

Flet 0.27.0 is out and updated iOS packaging docs published: https://flet.dev/docs/publish/ios

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants