I produce an SDK, which is written in a mixture of ObjC and C, and exposes an ObjC API to be used by third party apps.
A customer would like to use this SDK in an iOS app that is written using Xamarin. The customer is not really familiar with importing external SDKs into Xamarin.
There seem to be three choices for what I provide:
- A static library, plus headers and resources the library needs
- A static framework (Xcode doesn't have good support for authoring these, so not my preferred option)
- A dynamic framework (Xcode seems pretty good at authoring these)
I understand that all three approaches would work with Xamarin, but which of these does Xamarin have best support for / would be least error prone for the customer?
This question might seem a little subjective, but I'm trying to discover if there are actual factual differences in how well Xamarin supports the different options (or, conversely, in one particular option is particularly poorly supported).
Please assume I'm only targeting iOS 8 and upwards (or later if that makes things easier), and using the most recent available tools.
I've done some research on this, but a lot of the articles date back to 2012 so predate iOS dynamic frameworks and Xamarin's support for third party libraries seems to have been enhanced a lot since, it is difficult to figure out what the current position is. Xamarin's own documentation and examples are a little sparse.