Problemas para vincular la biblioteca de Objective-C a C # con Objective Sharpie

Estoy intentando recorrer esta guía:

https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/

tratando de crear enlaces para este proyecto github:

https://github.com/lminhtm/LMGaugeView

Usando Sharpie 3.4.

Me encuentro con los siguientes problemas:

No puedo generar un binario gordo con las arquitecturasi386 armv7 x86_64 arm64 porque estoy construyendo contra iOS11. Solo puedo generar un binario gordo con arquitecturasx86_64 yarm64, intentar los otros me da el mensaje de errorinvalid iOS deployment version, iOS 10 is the max deployment target for 32-bit targets. ¿Se espera esto?

Cuando uso Sharpie, puedo generar los archivos API y Struct, sin embargo, cada uno de estos archivos es enorme, con Structs que terminan en 24K + líneas y API 54K + líneas. También seguí un tutorial de youtube y el resultado que obtuvo fue de aproximadamente 200 líneas, por lo que el hecho de que las mías sean tan grandes me hace pensar que algo está sucediendo. Su tutorial no fue para mi mismo proyecto Objective-C pero incluso probé el mismo que él y terminé con el mismo resultado.

El archivo Struct termina con más de 7K errores, y veo innumerables líneas que se parecen a:

// extern long double tanhl (long double) __attribute__((const)) __attribute__((nothrow));
[DllImport ("__Internal")]
[Verify (PlatformInvoke)]
static extern [unsupported Builtin: long double] tanhl ([unsupported Builtin: long double]);

Donde faltan nombres de identificador y tiene este [Builtin no admitido: pieza que no entiendo.

También hay innumerables referencias a otras versiones de iOS, y watchOS y TV, por lo que parece que está tratando de crear la API y las estructuras para cada sistema operativo y versión, lo que tiene sentido por qué los archivos serían tan grandes. Aquí hay un pequeño fragmento del archivo Struct:

    // extern CGPathRef _Nullable CGPathCreateCopyByTransformingPath (CGPathRef _Nullable path, const CGAffineTransform * _Nullable transform) __attribute__((availability(ios, introduced=5.0))) __attribute__((cf_audited_transfer));
    [iOS (5,0)]
    [DllImport ("__Internal")]
    [Verify (PlatformInvoke)]
    [return: NullAllowed]
    static extern unsafe CGPathRef* CGPathCreateCopyByTransformingPath ([NullAllowed] CGPathRef* path, [NullAllowed] CGAffineTransform* transform);

    // extern CGMutablePathRef _Nullable CGPathCreateMutableCopy (CGPathRef _Nullable path) __attribute__((availability(ios, introduced=2.0))) __attribute__((cf_audited_transfer));
    [iOS (2,0)]
    [DllImport ("__Internal")]
    [Verify (PlatformInvoke)]
    [return: NullAllowed]
    static extern unsafe CGMutablePathRef* CGPathCreateMutableCopy ([NullAllowed] CGPathRef* path);

    // extern CGMutablePathRef _Nullable CGPathCreateMutableCopyByTransformingPath (CGPathRef _Nullable path, const CGAffineTransform * _Nullable transform) __attribute__((availability(ios, introduced=5.0))) __attribute__((cf_audited_transfer));
    [iOS (5,0)]
    [DllImport ("__Internal")]
    [Verify (PlatformInvoke)]
    [return: NullAllowed]
    static extern unsafe CGMutablePathRef* CGPathCreateMutableCopyByTransformingPath ([NullAllowed] CGPathRef* path, [NullAllowed] CGAffineTransform* transform);

Sé que estos archivos deberían ser mucho más pequeños, especialmente porque el código Objective-C es un archivo de encabezado único. ¿Qué podría estar haciendo mal aquí?

¡Puedo proporcionar más detalles si es necesario!

Respuestas a la pregunta(1)

Su respuesta a la pregunta