Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to port swift based cocoapods to Xamarin

Tags:

I am trying to port cocoapods to xamarin.

Objective C based cocoapods can be ported by converting it into a static library(.a) and subsequently converting that as binding library in xamarin studio or visual studio

But Swift based cocoapods can not be converted into a static library and so it can't be ported to xamarin.

but swift can be converted into a dynamic framework but I couldn't find any way to port that to xamarin

Is there any other way to port swift based cocoapods or ios project into xamarin ?

like image 572
Durai Amuthan.H Avatar asked Mar 16 '17 23:03

Durai Amuthan.H


Video Answer


1 Answers

Binding a Swift Library in Xamarin.iOS follows the same process for Objective-C as shown in xamarin documentation

but with some caveats.

  • A swift class must inherit from NSObject to be binded.

  • Swift compiler will translate class and protocol names into something else, so you must specify the final name in the ApiDefinition.

  • In runtime your APP must include some swift core libraries alongside your binded framework in a folder called Frameworks;

  • When the App is pushed to AppStore it must include a SwiftSupport folder alongside your Payload folder. Those are inside the IPA file.

Here you can find a simple sample binding: https://github.com/Flash3001/Xamarin.BindingSwiftLibrarySample

And a full binding sample: https://github.com/Flash3001/iOSCharts.Xamarin

like image 103
mahesh paymal Avatar answered Oct 08 '22 02:10

mahesh paymal