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

[xcode11-feature] Add support for Catalyst/UIKitForMac #6210

Closed
Uncommon opened this issue Jun 5, 2019 · 87 comments
Closed

[xcode11-feature] Add support for Catalyst/UIKitForMac #6210

Uncommon opened this issue Jun 5, 2019 · 87 comments
Assignees
Labels
enhancement The issue or pull request is an enhancement help wanted This is an issue or pull request where we request help from the community to fix or complete iOS Issues affecting iOS macOS Issues affecting macOS
Milestone

Comments

@Uncommon
Copy link

Uncommon commented Jun 5, 2019

Please add support for "Project Catalyst"/UIKitForMac introduced in macOS 10.15.

@ghost
Copy link

ghost commented Jun 5, 2019

+1

@dalexsoto dalexsoto added enhancement The issue or pull request is an enhancement iOS Issues affecting iOS macOS Issues affecting macOS labels Jun 6, 2019
@dalexsoto dalexsoto added this to the xcode11 milestone Jun 6, 2019
@dalexsoto
Copy link
Member

Hello, thank you for reaching us!

We are currently working on Xcode 11 support, you can follow this issue with our updates in our progress #6206 and also any help is super welcome 😄

@Uncommon
Copy link
Author

Uncommon commented Jun 6, 2019

What kind of help exactly? Is there something I can work on to help this along?

@dalexsoto
Copy link
Member

Hello!

I am so glad you asked! Everyone is welcome to join the Xcode 11 party :) I would recommend:

  1. Reading our contribution guide https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute which is a nice read to get a general feel.
  2. Read our bindings guide here https://github.com/xamarin/xamarin-macios/wiki/BINDINGS
  3. All set and ready to jump in? Go and pick yourself a Xcode 11 framework from this list https://github.com/xamarin/xamarin-macios/wiki/xcode11-Bindings-Status

If you have trouble starting on this you all are very welcome to join our Gitter channel where we can help anyone that wants to contribute :)

Hope this helps!

@dalexsoto dalexsoto added the help wanted This is an issue or pull request where we request help from the community to fix or complete label Jun 6, 2019
@chamons chamons changed the title Add support for Catalyst/UIKitForMac [xcode11-feature] Add support for Catalyst/UIKitForMac Jun 10, 2019
@chamons chamons mentioned this issue Jun 10, 2019
5 tasks
@mrwcjoughin
Copy link

Any news on the Catalyst support? This is urgently needed please

@rolfbjarne rolfbjarne self-assigned this Jul 11, 2019
@iMonZ
Copy link

iMonZ commented Aug 21, 2019

+1

2 similar comments
@rhavlick
Copy link

+1

@tvsports86
Copy link

+1

@gdignard
Copy link

Following up on this. It's over 3 months since the announcement and as I write this we are now only a couple of days from public release of iOS 13 and I still have no answer for my clients who are (reasonably) wanting to know whether I'll be able to deliver to them applications with all features and functions of the new iOS release.

Catalyst is such a huge feature from the iOS side, could someone at Microsoft please at least state for the record whether there is any intention to implement this, or whether Xamarin is now only targeting partial coverage for iOS or whatever has been decided.

Obviously, we'll all have to live with whatever decision has been made, but it would be very helpful to at least be able to base our future development plans accordingly rather than guesswork based on mere "hope" that Xamarin still has its original mandate.

@rolfbjarne
Copy link
Member

@gdignard Our intention is to implement this, but unfortunately we've not had enough time to complete the work for the initial public release of iOS 13. Neither am I able to say when it will be implemented, but it's the top request from the new iOS 13 features, so it will be prioritized accordingly.

@gdignard
Copy link

@rolfbjarne Thank you for your response; I'm sorry to learn of the troubles with iOS 13, but knowing that Catalyst is actually on the roadmap is reassuring to learn.

@Uncommon
Copy link
Author

Uncommon commented Oct 4, 2019

Any updates on this, now that iOS 13 support is done and the macOS 10.15 GM seed is up?

@rolfbjarne
Copy link
Member

@Uncommon I have no further news than in my last comment, our intention is to implement this, but we have no timeline yet.

@royleban
Copy link

royleban commented Oct 7, 2019

Speaking for myself, I think an exact 1-for-1 version of what Xcode provides is not necessary. For example, if we had to create a second Mac Solution that included the same projects as the iOS solution, that would not be a problem. What we want is an easy way to bring iPad apps to Mac and that includes apps that do not use Xamarin Forms. Our app, for example, was built before Forms existed, and still does things (e.g., involving flexible complex layouts) that Forms doesn't support. As @gdignard says, a roadmap would be really helpful. Thanks.

@t9mike
Copy link

t9mike commented Oct 7, 2019

I don't use Forms, just plain Xamarin.iOS and want Catalyst.

@greatvova
Copy link

I use both, Xamarin.Forms and Xamarin.iOS. Can't wait to publish my apps to Mac AppStore.

@follesoe
Copy link

One piece of input would be to see if this could be implemented iteratively. I see that we get some warnings now on APIs that are not supported on macOS. I assume this is prep-work for Catalyst, or from updated iOS bindings where these warnings are added to the iOS platform for the same reason?

I understand this is a big feature, both for you but also for developers wanting to port their app to macOS. Some guidance from Apple is available already on what you need to do in order to prepare for Catalyst. If you identify Xamarin specific prep work needed or partial tooling (better warnings/guidance/compiler flags) that could be a stepping stone for developers to be prepared when the feature is complete enough to build macOS Catalyst apps.

@mrwcjoughin
Copy link

Please we need Catalyst desparetly! Apart from iOS 13 bugs, this should be the top priority!
We are all waiting, and this is way more import than XAML hot reload or anything else related!

@sichy
Copy link

sichy commented Nov 1, 2019

@rolfbjarne what is needed for the catalyst binding? am happy to do it, as we need it ourselves. Let me know mate.

@cho-trackman
Copy link

I want to help as well, but not sure where to start.

@rolfbjarne
Copy link
Member

This is a rather complicated task, here's a rough outline of the bare minimum of what needs to happen in order to make something that can be used to create Catalyst apps:

  1. Build the mono runtime for the uikitformac platform. I don't know how to do this, the mono runtime people would probably have to be involved somewhat.
  2. Build the code in xamarin-macios/runtime for the uikitformac platform (this won't fully work without the previous step - but I have this almost done already, it just needs the previous step completed first)
  3. Add support to our msbuild tasks (this should be fairly trivial)
  4. Add support to the mtouch tool to build Catalyst apps (this is the most complex task, mtouch is already quite complex, and this will just make it more so).

There are probably other things that must happen before we're able to create a viable Catalyst app as well.

Things that are missing:

  • IDE changes to make this a much nicer experience (it should be possible to get something to work without changes to the IDEs, but it would be necessary to edit the csproj in a text editor for instance).
  • There are probably several other areas that need to be updated (storyboard compilation, asset catalogs, etc).

@gdignard
Copy link

Is there any sense from the mono runtime folks and the mtouch team about if this is on their radar and, if so, whether they have provided any guidance to you about their time horizons for this?

@mrwcjoughin
Copy link

@mrwcjoughin it's been 3 years since I tried Xamarin.Forms.

Is CollectionView already supported on mac?

@michaldobrodenka it only supported on iOS, Android and UWP:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/collectionview/introduction

But their commitment at build yesterday was that macOS will have "Feature parity" - so clearly this will be resolved in .net 6 / MAUI

@michaldobrodenka
Copy link

@mrwcjoughin So maybe in future MAUI/x.f would be good technology to start my project with. But now Catalyst would be great.

@mrwcjoughin
Copy link

@mrwcjoughin So maybe in future MAUI/x.f would be good technology to start my project with. But now Catalyst would be great.

@michaldobrodenka for sure - I also really want catalyst now as well. In the mean time I just avoid controls that aren’t supported on all platforms

@michaldobrodenka
Copy link

@mrwcjoughin Yes, I'm looking forward to see mature X.F.

But my app has about 150 pages and almost all of them are some sort of CollectionView with different widget sizes and layouts.

(That's why I created own multiplatform abstraction of collection View (and platform implementations - RecyclerView, UICollectionView , VirtualizingPanel) and render views natively or using SkiaSharp (most of them)- using my own multiplatform framework on SkiaSharp.)

@Mogikan
Copy link

Mogikan commented Jun 23, 2020

@davidortinau Isn't it a right time to start implementing this Feature after WWDC?

@tekmun
Copy link

tekmun commented Jun 24, 2020

With the announcement of iOS support on ARM-based Macs, there is no longer a need to support Catalyst. Am I right?
Intel-based Macs will be phased out in next 2.5 years.

@michaldobrodenka
Copy link

As I understand it, Catalyst is still a thing if you want to add some mac os features to our ipad os apps.

@Sevenish
Copy link

With the announcement of iOS support on ARM-based Macs, there is no longer a need to support Catalyst. Am I right?
Intel-based Macs will be phased out in next 2.5 years.

No. you still need Catalyst for advanced mac integration and features

@sichy
Copy link

sichy commented Jun 24, 2020 via email

@divil5000
Copy link

Also, there are many of us that need Catalyst right now and are suffering through not being able to make our iOS apps available on Macs cheaply, due to our decision to choose Xamarin.

The hope of a vague solution in 3 years' time when a majority of users' Macs might be ARM based is not a solution.

@sichy
Copy link

sichy commented Jun 24, 2020 via email

@Sevenish
Copy link

Also I believe the transition time apple indicated is when they will stop SELLING new Mac's with Intel processors. Intel based macs will be supported for many years after that

@michaldobrodenka
Copy link

Yes. I thinnk that x86-64 macs will be supported at least 5-8 years.

@Mogikan
Copy link

Mogikan commented Jun 26, 2020

Good to know that this feature at least "in consideration": #8955

@Suplanus
Copy link

Good news to this issue: https://www.mergeconflict.fm/225

Frank Got Catalyst for Xamarin.iOS Working!

@gdignard
Copy link

Listened to the podcast and that indeed sounds like very very good news!

@michaldobrodenka
Copy link

Question is, when we can see it in product (if ever)? From the podcast it seems that it's quite complicated.

@Mogikan
Copy link

Mogikan commented Oct 27, 2020

@michaldobrodenka the question is will it help to persuade MS to plan this feature.

@tougher
Copy link

tougher commented Oct 27, 2020

Some of it is here main...praeclarum:frank-catalyst2 but can't find any changes in the mono repo.

@Mogikan
Copy link

Mogikan commented Nov 4, 2020

mono/mono#20537

@Mogikan
Copy link

Mogikan commented Nov 23, 2020

For those who like me is tracking news regarding this feature seems like xamarin devs are actively working on this feature dotnet/runtime#44882
Thank you guys!

@charlesroddie
Copy link

Is this done yet, or planned for the time of the .Net 6 release, or planned for the time of the MAUI release?

We have a Forms app that includes iOS and Mac and the Mac has various minor layout issues on the occasions when we run it, making it look less polished than the other platforms, as well as platform-specific bugs, so moving to Catalyst/UIKit would be great for consistency.

@rolfbjarne rolfbjarne modified the milestones: xcode11, .NET 6 Oct 4, 2021
@rolfbjarne
Copy link
Member

Mac Catalyst support is planned for the time of the MAUI release.

In fact it's already been fully implemented, so I'm closing this (it's possible to try it out using our MAUI/.NET 6 previews).

@michaldobrodenka
Copy link

Is it possible to use Catalyst without MAUI?

@rolfbjarne
Copy link
Member

Is it possible to use Catalyst without MAUI?

Yes (just like you can create a Xamarin.iOS application today without using Xamarin.Forms).

The planned release timeline is still the same though, whether you want to use MAUI or not.

@ghost ghost locked as resolved and limited conversation to collaborators May 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement The issue or pull request is an enhancement help wanted This is an issue or pull request where we request help from the community to fix or complete iOS Issues affecting iOS macOS Issues affecting macOS
Projects
None yet
Development

No branches or pull requests