-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Closed
Labels
area-Metadesign-discussionOngoing discussion about design without consensusOngoing discussion about design without consensus
Milestone
Description
I'm implementing support for Mac Catalyst in Xamarin, and I've run into a question whether a new TFI should be created or not.
First a few facts:
- Mac Catalyst is a blend of iOS and macOS (much more iOS than macOS though). We currently have two TFIs for these platforms,
Xamarin.iOS
andXamarin.Mac
respectively. - The API surface that we would bind in managed code in Mac Catalyst is not identical to neither Xamarin.iOS nor Xamarin.Mac: it would contain parts of Xamarin.iOS, parts of Xamarin.Mac, and potentially API that's in neither Xamarin.iOS nor Xamarin.Mac.
- The native binaries (libmono, coreclr, etc.) have to be built specifically for Mac Catalyst. Binaries built for iOS or macOS won't work.
Adding a new TFI would have a few consequences:
- We'd have to implement support for the new TFI to many other places. NuGet comes to mind, but I'm certain there are many other places I'm unaware of. We'd also have a new TFI for .NET 6 (for instance
net6.0-catalyst
). - Any existing NuGet for either Xamarin.iOS or Xamarin.Mac won't work.
Not adding a new TFI would also have a few consequences (say we re-use Xamarin.iOS
):
- It would not be possible to create a NuGet that uses any API in Mac Catalyst that isn't in Xamarin.iOS.
Design proposal dotnet/designs#174
ivmirx, spouliot, dalexsoto, follesoe, Suplanus and 2 more
Metadata
Metadata
Assignees
Labels
area-Metadesign-discussionOngoing discussion about design without consensusOngoing discussion about design without consensus