は私も仕事にライブラリを結合する最も簡単な種類を取得することはできません動作させることはできませんそれは次のようになります。はMonoTouchで結合ライブラリが
// TestLib.h
#import <Foundation/Foundation.h>
@interface TestLib : NSObject
{
NSString *status;
}
@property (nonatomic,retain) NSString *status;
@end
// TestLib.m
#import "TestLib.h"
@implementation TestLib
@synthesize status;
- (id)init
{
self = [super init];
if (self) {
[self setStatus:@"initialized"];
}
return self;
}
@end
プロジェクトはここにある:http://dl.dropbox.com/u/31924320/TestLib.tar.gz
私は「libTestLib.a」にこれをコンパイル。
次に、TestLibクラスを初期化し、ステータスプロパティのゲッターを呼び出すだけのシンプルなバインディングライブラリを作成しました(これをテストする「単一ビューアプリケーション」と一緒に)。ライブラリ(libTestLib.a)をバインディングライブラリに追加して、LinkWithファイル/アセンブリディレクティブを作成しました。プロジェクトはここにあることを
namespace TestLibBinder
{
[BaseType(typeof(NSObject))]
interface TestLib
{
[Export("status")]
string Status { get; set; }
}
}
:http://dl.dropbox.com/u/31924320/BindingTest.tar.gz
私はStatusプロパティを取得しようとすると、残念ながら、私は
public override void ViewDidLoad()
{
base.ViewDidLoad();
TestLib testLib = new TestLib(); // succeeds!
string status = testLib.Status; // got a null reference
if (status != null)
label.Text = status;
else
label.Text = "binding failed";
}
...バックライブラリからnull参照を取得しApiDefinition.csファイルは、次のようになります