Я хочу использовать OpenFeint в проекте MonoTouch. У меня нет опыта в создании правильных привязок для использования сторонней библиотеки Objective-C с Mono. Чтение this статья на веб-сайте Xamarin по-настоящему не помогла мне. Кто-нибудь создал привязки, необходимые для использования OpenFeint с MonoTouch, или у кого-нибудь есть опыт создания привязок, которые мне нужны?OpenFeint с MonoTouch
ответ
Очень просто.
File-> New Project> MonoTouch-> MonoTouch Связывание проекта
Первая вещь добавить библиотеку Objective-C (* .a файл), это построить вариант должен автоматически сказать Native Library
.
Добавьте все файлы заголовков, которые они предоставляют, с параметром Build None
(это только для справки, чтобы помочь вам написать привязку).
Прочитайте файлы заголовков и начать писать привязки в файле 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, такие как босс. Это то, что я расскажу о новом прокате в моем отделе.
В дополнении к @ Джонатану отличных ответов ...
Есть несколько привязок проекты доступны на GitHub, например, от Xamarin, что может дать вам подсказки, если вы не знаете, как преобразовать некоторые объекты Objective-C в C#. Реальные примеры часто очень полезны по теории.
Если вы когда-либо заблокированы в определенном месте, то не стесняйтесь задавать конкретные вопросы, либо здесь, либо на mailing-list.
Спасибо, большое предложение! Я бы проголосовал за оба ответа, но, увы, у меня нет необходимой репутации. – Thijs
- 1. Проблема с OpenFeint и Phonegap
- 2. Площадь дискового пространства OpenFeint
- 3. Game Center vs OpenFeint
- 4. Openfeint offline config файл
- 5. Достижения достижений OpenFeint
- 6. Android: Scoreloop vs OpenFeint
- 7. OpenFeint с GameCenter действительно так просто?
- 8. OpenFeint с cocos2d-x (iOS и Android)
- 9. Проблемы с публикацией в OpenFeint в android
- 10. Продвижение Openfeint Достижение на Android
- 11. Интеграция OpenFeint в приложении iOS
- 12. Openfeint 2.4.10, использующий использование ЦП
- 13. Openfeint: пакетные запросы к серверам openfeint (получить достижения, разблокировать достижения, представить баллы)
- 14. MonoTouch UITableView с изображениями
- 15. Проблема с MonoTouch
- 16. AOP с MonoTouch
- 17. ShareKit с MonoTouch как?
- 18. размерWithFont с MonoTouch
- 19. Использование SQLCipher с MonoTouch
- 20. Альтернативные языки с MonoTouch
- 21. Monotouch - проблема с QLPreviewController
- 22. Использование NSArray с Monotouch
- 23. Создание статической библиотеки OpenFeint для iOS
- 24. Непризнанный селектор для вызова достижения разблокировки OpenFeint
- 25. Получение сбоя при запуске панели управления OpenFeint
- 26. Ошибка сборки при установке openfeint 2.4.4 SDK
- 27. Проблема с HttpWebRequest с MonoTouch
- 28. Использование OpenFeint для получения прогрессии тока Достижение
- 29. Обработка данных OpenFeint в автономном режиме
- 30. Установить пользовательскую вкладку OpenFeint (приложение для iPhone)
Я загрузил SDK OpenFeint и могу его построить с помощью xcode. К сожалению, на моем жестком диске нет файла * .a. Любые указатели на то, как это получить? – Thijs
Я вижу файл 'BuildUniversalBinary.sh' в процессе загрузки. Можете ли вы запустить это и посмотреть, что он делает? Я сейчас на Windows, я не могу. – jonathanpeppers
Я пытаюсь запустить файл, но он дает мне следующую ошибку: builduniversalbinary.sh: строка 6: КОНФИГУРАЦИЯ: несвязанная переменная. Я пытаюсь выяснить, как это исправить. Позвольте мне просто подтвердить, что я должен использовать файл следующим образом в терминале: «sh BuildUniversalBinary.sh» – Thijs