Skip to content

Consider adding a Mac Catalyst build option #98297

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

Open
ronaldoussoren opened this issue Oct 15, 2022 · 2 comments
Open

Consider adding a Mac Catalyst build option #98297

ronaldoussoren opened this issue Oct 15, 2022 · 2 comments
Labels
build The build process and cross-build OS-mac type-feature A feature request or enhancement

Comments

@ronaldoussoren
Copy link
Contributor

Feature or enhancement

Support the "Mac Catalyst" flavour of macOS binaries on recentish version of macOS

Pitch

MacOS currently has two ways to build "native" applications:

  1. The macOS binaries used from macOS 10.0, for ease of reference I'll call these "Cocoa"
  2. MacCatalyst binaries that link to (a subset) of the frameworks used on iOS, but recompiled for macOS

The latter have access to some interesting system APIs that former cannot use, such as the HomeKit framework. The current builds are "Cocoa" builds.

Previous discussion

There is no previous discussion of Python forums. This issue was triggered by an issue on PyObjC's tracker ronaldoussoren/pyobjc#501.

@ronaldoussoren ronaldoussoren added type-feature A feature request or enhancement OS-mac labels Oct 15, 2022
@ronaldoussoren
Copy link
Contributor Author

I have no short-term plans to work on this, and haven't assessed the impact of this on the codebase

Doing this seriously likely requires some coordination with the PyPA and PyPI maintainers as this would effectively be a new platform: I expect that a Mac Catalyst build cannot use C-extensions (and hence binary wheels) for the current "Cocoa" variant.

That said, I have done no research on this beyond noticing that "Cocoa" binaries cannot load "Catalyst" libraries/frameworks, and that this is an intentional limitation (there is some support for loading "Cocoa" into "Catalyst" though).

@johnzhou721
Copy link
Contributor

With a similar structure for ''embedded framework'' builds just like iOS, I've started the work on this:
beeware/Python-Apple-support#280 (the actual patch is at freakboy3742#8)

@picnixz picnixz added the build The build process and cross-build label May 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build OS-mac type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

3 participants