在 Xamarin.iOS 中为 2 个依赖静态库创建绑定

Sla*_*off 5 c# binding xamarin.ios ios xamarin

我在 Xamarin.iOS 上绑定时遇到问题。

我有 2 个库:libA.a libB.a

而 libB.a 依赖于 libA.a 类。在libA我有这个类:

namespace ABC {
    [BaseType (typeof (NSObject))]
    public partial interface ClassAbc {
        [Export ("setString:")]
        void SetString (string abc);
    }
}
Run Code Online (Sandbox Code Playgroud)

libB我有这个代码:

namespace ABCUsage {
    [BaseType (typeof (NSObject))]
    public partial interface ClassAbcUsage {
        [Export ("setAbc:")]
        void SetAbc (ClassAbc abc);
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有 libA.a 和 libB.a 的源代码,只有通用静态库和头文件。

我试图添加 libA 绑定项目和最终的 A.dll 作为 libB 绑定的参考,但它说“找不到命名空间 ABC”。

我应该如何为 libB 进行正确的绑定?

dal*_*oto 5

您好,您可以在单个绑定项目中绑定任意数量的库,只需确保指定完全限定的类型名称

namespace ABC {
    [BaseType (typeof (NSObject))]
    public partial interface ClassAbc {
        [Export ("setString:")]
        void SetString (string abc);
    }
}

namespace ABCUsage {
    [BaseType (typeof (NSObject))]
    public partial interface ClassAbcUsage {
        [Export ("setAbc:")]
        void SetAbc (ABC.ClassAbc abc);
                    //^^^^^
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。