3

IDTech CC スワイパーのバインディングを作成する作業を行っています。私はしばらくこれに頭を悩ませてきました。サードパーティのライブラリによって発生したイベントをサブスクライブする方法に行き詰まっています。具体的には、カードのスワイプがいつ発生したかを知る必要があります。

//Notification identifiers used with NSNotificationCenter
//physical attachment related
extern NSString * const uniMagAttachmentNotification;
extern NSString * const uniMagDetachmentNotification;
//connection related
extern NSString * const uniMagInsufficientPowerNotification;
extern NSString * const uniMagPoweringNotification;
extern NSString * const uniMagTimeoutNotification;
extern NSString * const uniMagDidConnectNotification;
extern NSString * const uniMagDidDisconnectNotification;
//swipe related
extern NSString * const uniMagSwipeNotification;
extern NSString * const uniMagTimeoutSwipeNotification;
extern NSString * const uniMagDataProcessingNotification;
extern NSString * const uniMagInvalidSwipeNotification;
extern NSString * const uniMagDidReceiveDataNotification;
//command related
extern NSString * const uniMagCmdSendingNotification;
extern NSString * const uniMagCommandTimeoutNotification;
extern NSString * const uniMagDidReceiveCmdNotification;
//misc
extern NSString * const uniMagSystemMessageNotification;

ドキュメントには、これが機能するはずだと書かれています:

    [Notification]
    [Field ("uniMagAttachmentNotification")]
    NSString uniMagAttachmentNotification { get; }

コンパイルされません。

obj/Debug/ios/magTechBinding/uniMag.g.cs(637,95): error CS0117: `MonoTouch.Constants' does not contain a definition for `magTechBindingLibrary'
obj/Debug/ios/magTechBinding/uniMag.g.cs(637,77): error CS1502: The best overloaded method match for `MonoTouch.ObjCRuntime.Dlfcn.dlopen(string, int)' has some invalid arguments
obj/Debug/ios/magTechBinding/uniMag.g.cs(637,77): error CS1503: Argument `#1' cannot convert `object' expression to type `string'

どんな考えや助けも大歓迎です!

4

1 に答える 1

5

試す:

[Field ("uniMagAttachmentNotification", "__Internal")]

2番目のパラメーターは、フィールドを検索するライブラリーを指定します。1つがなければ、ジェネレーターは、定数の準備ができていると想定します。

これで、サードパーティの静的(.a)ライブラリをリンクするため、最終的な実行可能ファイルの一部になります。そのため__Internal、ライブラリ名として使用する必要があります(つまり、メインの実行可能ファイルの内部を検索します)。

于 2013-01-22T20:50:01.630 に答える