Помогите привязать статическую библиотеку objective-c в monotouch

#c# #objective-c #binding #xamarin.ios #static-libraries

#c# #objective-c #привязка #xamarin.ios #статические библиотеки

Вопрос:

Мне нужна помощь в привязке статической библиотеки Obj-c, которую я создал для использования внутри MonoTouch, используя btouch.

Я знаю базовый синтаксис при создании файлов API, но в моей библиотеке есть функции, которые я просто не могу найти правильным способом привязки: S

Вот как выглядит мой заголовок:

 - (UIImage*) functionSampleOne:(CGImageRef)srcCGImage;
- (UIImage*) functionSampleTwo:(CGImageRef)srcCGImage;
CGImageRef functionSampleThree(CGImageRef image);
  

Как будет выглядеть btouch api для этого заголовка? Как мне привязать UIImage * и CGImageRef?

Ответ №1:

Точно так же, как и любой другой объект:

 [Export("functionSampleOne:")]
UIImage FunctionSampleOne(CGImage srcImage);
  

Не забудьте добавить соответствующие пространства имен в файл определения API:

 using MonoTouch.UIKit;
using MonoTouch.CoreGraphics;
  

Комментарии:

1. Именно так я попробовал это в первый раз, это не сработало. НО прямо сейчас, после того как вы подтвердили, что это правильный способ, я обнаружил еще одну ошибку в своем коде, которая фактически вызвала исключение, так что теперь она работает! 🙂 спасибо! 🙂

2. Просто замечание. Вы должны убедиться, что после того, как она заработает в симуляторе, она заработает и на устройстве. Возможно, вам придется создать большую статическую библиотеку, чтобы она работала с обоими. Если, конечно, вы не создаете отдельные библиотеки для каждой среды.