xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.47k stars 514 forks source link

TipKit is not available #20273

Open haavamoa opened 8 months ago

haavamoa commented 8 months ago

Hello and thank you for this amazing bridge between Apple and Microsoft. I am wondering when TipKit will be available for us to consume.

Sorry if this issue is a bit slim, but there's not much to add here.

Expected Behavior

TipKit to be available for development

Actual Behavior

No TipKit is available for development

Environment

.NET8.0-ios17.2

rolfbjarne commented 8 months ago

It seems TipKit is only available using Swift, and not Objective-C, which means we're unfortunately not able to create bindings at this moment.

As of today, the only way to use a swift library is via a proxy library, the general idea is described here learn.microsoft.com/en-us/xamarin/ios/platform/binding-swift basically you would need to expose the TipKit Apis you need via a Swift glue layer that exposes the method via the swift bridge header and then creating a C# binding project for this.

The plan is for us to eventually provide these bindings, but Swift support it's a lot of work, so we're not sure when that might be (it's in progress though at the moment).

haavamoa commented 7 months ago

Thanks for the clarification @rolfbjarne ! :) I will have a look into binding swift in the future to see if I can manage to do this.

matteomonizza commented 4 months ago

@rolfbjarne It seems Apple is going on Swift, putting Objective-C on a lower level.. Isn't it? Tipkit is one of the latest new system that we cannot use due to the lack of Objective-C language bindings... What future do you see?

rolfbjarne commented 4 months ago

@rolfbjarne It seems Apple is going on Swift, putting Objective-C on a lower level.. Isn't it? Tipkit is one of the latest new system that we cannot use due to the lack of Objective-C language bindings... What future do you see?

Work is ongoing in .NET to support calling Swift from managed code: https://github.com/dotnet/runtime/issues/93631