我有一个从 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 之外,我已经遵循了几次但没有成功)