Embeddinator-4000 icon indicating copy to clipboard operation
Embeddinator-4000 copied to clipboard

[objc] Extract & link embedded libs

Open zgramana opened this issue 8 years ago • 1 comments

Scenario

I have an assembly with an embedded native iOS static lib (I can confirm this by extracting it using monodis -mresources). I then run objcgen and embed the resulting .framework in an Xcode-based example app.

Observed

The resulting .framework is missing the symbols which are defined in the embedded static lib, resulting in P/Invoke entry-point failures. I then have to manually add the same native iOS static lib which was previously embedded into the Xamarin.iOS assembly as a resource.

Expected

That the embedded static lib would be extracted from the managed assembly and statically linked when generating the .framework.

Note

Possibly an analog issue to https://github.com/mono/Embeddinator-4000/issues/452#issuecomment-317419963

zgramana avatar Oct 04 '17 00:10 zgramana

I have a use case similar to @zgramana, but don't fully understand his workaround. I have a Xamarin iOS application that uses mtouch to link a .a file. I want to expose some of the functionality of the Xamarin iOS application to an Objective C application. I'm using objcgen to create a .framework package, then adding the resulting .framework package to my Objective C application. When I run the Objective C application, it throws an EntryPointNotFoundException when attempting to call a method in the .a file. How do I add the .a file to the .framework package?

klei0777 avatar May 24 '18 18:05 klei0777