#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. Просто замечание. Вы должны убедиться, что после того, как она заработает в симуляторе, она заработает и на устройстве. Возможно, вам придется создать большую статическую библиотеку, чтобы она работала с обоими. Если, конечно, вы не создаете отдельные библиотеки для каждой среды.