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 のクラスが表示されるので、次のようにすることができます。
MyLibrary を使用します。
AppDelegate.cs FinishedLaunching() メソッドで、メソッドを呼び出します
MyLibraryLib.MyLibrary.InitMyLibrary();
アプリをシミュレーターで実行すると、すべて正常に動作しているように見えますが、目的の C メソッド initMyLibrary() を呼び出していません。これを確認するには、NSLog() と exit(0) を入力します。アプリは何もログに記録せず、終了しません。
何か不足していますか?このユースケースのドキュメントはありますか (BindingSample 以外に、成功なしで何度か追跡しました)