[components-devel] Xamarin.iOS automatic translation from cocoapod to nupkg - help needed with mtouch

Alex Sorokoletov alex at sorokoletov.com
Mon Nov 7 23:57:32 UTC 2016

Hi guys!
I'm working on a tool that generates a set of nuget packages from cocoapods with same structure and dependency graph, as in cocoapods. Let me 

For example, from pod Firebase/Database it will generate a set of nuget packages:

["GoogleToolboxForMac/Defines"; "GoogleSymbolUtilities"; "FirebaseInstanceID";
 "GoogleToolboxForMac/NSData+zlib"; "GoogleInterchangeUtilities"; "FirebaseCore";
 "FirebaseAnalytics"; "FirebaseDatabase"; "Firebase/Core"; "Firebase/Database"]

So as an end result there will be a set of .csproj with bindings and a set of nuget packages.

The question:

I have a binding project "FirebaseCore" with lib FirebaseCore.a and API definition (exposing FIRApp class, for example) that has reference to "GoogleSymbolUtilities" project.
GoogleSymbolUtilities project has a GoogleSymbolUtilities.a library and no API exposed (this cocoapod has only binary and is used during iOS linking process).

Now, I have a test application FirebaseTestApp with following code in C#:
FIRApp.bla.blabla //calling some code from FirebaseCore package

and references both to the FirebaseCore and GoogleSymbolUtilities packages.

When I compile the app, I get linker errors because the build doesn't see any dependency on the GoogleSymbolUtilities.a native lib from the FirebaseTestApp project.
Though, the FirebaseCore.dll is referencing GoogleSymbolUtilities.dll.

How do I make Xamarin.iOS consider all binding libraries for linking?

Any help or advice appreciated.


More information about the components-devel mailing list