0

我有一个从 Objective-C Xcode 项目构建的静态库(比如 myLibrary.a)。

我正在尝试在 Mono Touch iOS 应用程序中重新使用它。按照文档,我在 Xamarin Studio 中构建了一个 iOS 库项目,添加了 myLibrary.a 并链接和导出了我希望使用 MyLibrary.cs 可用的所有方法,如下所示。当我构建项目时,它会产生 myLibrary.dll

[BaseType (typeof (NSObject))]
interface TouchTestDriver {

    [Static]
    [Export ("initMyLibrary")]
    void InitMyLibrary ();

    [Static]
    [Export ("startDoingSomethingInteresting:")]
    NSUrl StartDoingSomethingInteresting (NSUrl url);
}

然后我使用 Xamarin Studio 构建了一个 iOS 应用程序(解决方案),并将 myLibrary.dll 包含在资源中。myLibrary.dll 中的类是可见的,所以我可以这样做:

使用我的图书馆;

在 AppDelegate.cs FinishedLaunching() 方法中,我调用了该方法

    MyLibraryLib.MyLibrary.InitMyLibrary();

当应用程序在模拟器中运行时,一切似乎都运行良好,但它没有调用 Objective-C 方法 initMyLibrary()。我通过输入 NSLog() 和 exit(0) 来确认这一点。该应用程序不会记录任何内容,也不会退出。

我错过了什么吗?是否有此用例的任何文档(除了 BindingSample 之外,我已经遵循了几次但没有成功)

4

0 回答 0