OpenFeint с MonoTouch - PullRequest
       18

OpenFeint с MonoTouch

3 голосов
/ 26 марта 2012

Я хочу использовать OpenFeint в проекте MonoTouch.У меня нет опыта в создании правильных привязок для использования сторонней библиотеки Objective-C с Mono.Чтение этой статьи на веб-сайте Xamarin мне больше не помогло.Кто-нибудь создал привязки, необходимые для использования OpenFeint с MonoTouch, или у кого-нибудь есть опыт создания привязок, которые мне нужны?

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Это действительно просто.

Файл-> Новый проект-> MonoTouch-> Проект привязки MonoTouch

Прежде всего добавьте библиотеку Objective-C (* .a файл), это Buildопция должна автоматически сказать Native Library.

Добавить все файлы заголовков, которые они предоставляют, с опцией Build None (это только для справки, чтобы помочь вам написать привязку).

Readчерез файлы заголовков и начните записывать привязку в файле ApiDefinitions.cs:

  • Используйте [BaseType(typeof(NSObject))], если их класс не наследуется от чего-то другого
  • Используйте [Export("yourMethod:")] для методов
  • Обратите внимание на символы + и - на методах, + указывает на статический метод, используйте [Static] на своем конце, чтобы указать, что
  • Если вы встретите класс делегата (тот, который вам нужно наследовать),добавьте [Model], в противном случае он будет выглядеть как запечатанный класс
  • Если вам нужно связать другие библиотеки для компиляции, измените атрибут [LinkWith] в файле designer.cs, который отображается под * .aбиблиотека
  • Перечисления идутв другом файле * .cs (я забыл имя)
  • #define MyConstant 1 - такие константы должны идти в классе, в котором находится заголовочный файл. Определите новый файл * .cs с классом какчастично.Вы также можете поместить дополнительный код C # в класс, если хотите
  • Сопоставить NSTypes с соответствующим типом C #: NSString -> string и т. Д.
  • Не стесняйтесь переименовывать типы Obj-C так,они не такие тупые.Я сталкивался со случайными префиксами в каждом методе, элементе и т.ссылка на новую библиотеку (не используйте дополнительные параметры сборки в настройках проекта, вам больше не нужно это использовать)

В общем, неплохо сделать это самостоятельнотак что вам удобно связывать библиотеки Obj-C как начальник.Это то, что я бы сказал новый найм в моем отделе.

1 голос
/ 26 марта 2012

В дополнение к @Jonathan превосходные ответы ...

На github доступно несколько проектов привязок, например, от Xamarin , которые могут дать вам подсказки, если вы не знаете, какпреобразовать некоторые конструкции Objective-C в C #.Реальные примеры часто очень полезны в теории.

Если вас заблокировали в определенном месте, не стесняйтесь задавать конкретные вопросы, здесь или на рассылке.список .

...