Насколько легко разработать приложение для iPhone с использованием MonoTouch в Visual Studio? - PullRequest
8 голосов
/ 12 сентября 2010

Я знаю о Monotouch, и у меня установлены виртуальные MacOS и Monodevelop / Monotouch.

Однако лучше ли создавать приложение iPhone в Monotouch на Mac OS X или это так же просто, как создавать приложение iPhone в Visual Studio и переносить его на iPhone через Monotouch?

Кто-нибудь пробовал портировать c # проект на iPhone? Насколько он отличался от сборки приложения на Mac OS с использованием monodevelop / monotouch?

пс. мои любимые вспомогательные утилиты не существуют на Mac OS, и это причина для этого Q

Ответы [ 6 ]

10 голосов
/ 13 сентября 2010

Как уже упоминалось, для компиляции ваших приложений и загрузки их для использования в магазине приложений или для отладки с помощью симулятора вам потребуется использовать MonoDevelop на Mac.

Однако можно написать большую часть кода в Visual Studio 2008 или 2010.

Я написал 6 приложений Monotouch, которые плохо продаются в магазине приложений, в основном с использованием Visual Studio. Причина, по которой я использую Windows и VS2010, заключается в том, что я намного медленнее с клавиатурой Mac, у меня настроена скорость Visual Studio, а у ПК примерно вдвое больше вычислительной мощности.

Вот несколько ошибок и советов:

  • Скопируйте DLL-файлы monotouch со своего Mac в Windows (найдите «monotouch.dll» на Mac), вставьте все DLL-файлы в статическое место и сослайтесь на них в своем проекте. Затем он должен скомпилироваться в VS.
  • Убедитесь, что у вас есть 2 файла проекта - MonoDevelop и Visual Studio. Я попытался преобразовать вручную, а также написал конвертер для перехода между двумя, но он ломается так часто, что легче просто сохранить два файла.
  • Вы также можете преобразовать документацию Mono XML (в другом формате в формат документации Microsoft .NET XML) для Visual Studio intellisense. Ссылка ниже содержит загрузку XML-документации, которую я создал для Monotouch 2.1.
  • Избегайте использования общего диска для разработки. Это делает компиляцию на Mac очень медленной - нужно копировать файлы с помощью USB-накопителя или в идеале использовать онлайн-сайт контроля версий, такой как bitbucket.org
  • Я обнаружил, что это было довольно быстро с одной клавиатурой, монитором и мышью и переключателем KVM между ПК и Mac.
  • Для макета (XIB или C #) вам придется использовать свой Mac или сначала написать голые кости в VS.

Я написал достаточно суммы по процессу здесь .

8 голосов
/ 13 сентября 2010

Вы просто не можете разработать приложение MonoTouch, просто используя Visual Studio. Вы должны использовать инструменты OSX для создания кода и создания пакета для телефона. Обойти это невозможно, и самый простой способ сделать это - использовать MonoDevelop.

То, что я и другие разработчики делали в прошлом, - это разработка некоторых библиотек C # для приложений, использующих Visual Studio, потому что хотя MonoDevelop довольно хорош, он все еще далек от того, чтобы быть таким же хорошим, как VS. Например, рефакторинг кода намного проще с такими инструментами, как Resharper и т. Д.

При разработке приложения в Visual Studio есть много вещей, с которыми вам придется иметь дело; например:

  • Вы просто не можете запустить сборку из Visual Studio: VS не знает, как создать проект, необходимый для iPhone, и не имеет всех библиотек, которые существуют в iOS SDK.
  • Нет визуального редактора для создания файлов XIB, которые вы, вероятно, хотите создать для своего приложения.
  • Вам придется проделать много дополнительной работы здесь и там, чтобы заставить VS открывать решение (например, копировать файлы lib из OSX в Windows, создавать отдельные проекты и т. Д.) (Хотя я думаю, что инструменты Novell Mono для VS может немного помочь в этом.

Итак, вот что я делал последние 6 месяцев:

  • Разбейте приложение на различные проекты для бизнес-логики и логики пользовательского интерфейса
  • Вы должны иметь возможность создавать, компилировать и даже тестировать бизнес-логику из VS. Только не забудьте использовать библиотеки пользовательского интерфейса или внешние библиотеки, недоступные в MonoTouch
  • Используйте MonoDevelop для создания части кода пользовательского интерфейса приложения. Возможность быстро запустить приложение для тестирования очень помогает.
  • Время от времени, если вы чувствуете, что вам нужно провести большую очистку, откройте код в Visual Studio и проведите рефакторинг; хотя вы ничего не сможете построить, средство проверки кода в VS поможет убедиться, что код все еще действителен.

Надеюсь, это поможет!

5 голосов
/ 12 марта 2013

Это фактически изменилось с новым выпуском MonoTouch, переименованным в Xamarin.iOS, который предлагает тесную интеграцию Visual Studio . Вы все еще нуждаетесь в Mac для сборки и тестирования, но вы можете работать с VS без особых проблем.

Они даже подключили отладчик:

Xamarin.iOS integrated with Visual Studio

На этом снимке экрана VS и OS X работают на одном компьютере, но это не обязательно, учитывая, что между ними есть локальная сетевая связь.

Подробнее здесь :

Xamarin iOS для Visual Studio позволяет писать и тестировать приложения для iOS на компьютерах с Windows, а сетевой Mac предоставляет службу сборки и развертывания.

Разработка для iOS внутри Visual Studio предоставляет ряд преимуществ:

  • Создание единого кроссплатформенного решения для приложений iOS, Android и Windows.
  • Использование инструментов Visual Studio (таких как Resharper и Team Foundation Server) для всех ваших кроссплатформенных проектов, включая исходный код iOS.
  • Использование знакомого (для существующих разработчиков Visual Studio) редактора кода, сочетаний клавиш и т. Д.
  • Xamarin.iOS для Visual Studio поддерживает конфигурации, в которых Visual Studio работает внутри виртуальной машины Windows на Mac (например, с использованием Parallels или VMWare).

Обратите внимание, что интеграция с Visual Studio доступна в версии для бизнеса, которая составляет 999 долларов США за лицензию .
(Лицензия бессрочная на человека, но вы получаете бесплатные обновления только в течение года.)

2 голосов
/ 13 сентября 2010

Домашний сайт MonoTouch сообщает:

Обратите внимание, что MonoTouch требуется Mac, Apple iPhone SDK, и вы должны быть частью программы Apple для разработчиков iPhone для тестирования и развертывания вашегопрограммное обеспечение на устройстве и распространять ваш код.

0 голосов
/ 13 сентября 2010

Поскольку вам необходим Apple iPhone SDK (который доступен только для OS X), установленный для разработки с MonoTouch, вы будете ограничены разработкой на Mac.

MonoDevelop - неплохая IDE, а его интеграция с Interface Builder и симулятором iPhone / iPad делает разработку для iPhone с MonoTouch довольно приятным опытом.

0 голосов
/ 12 сентября 2010

Я думаю, что некоторые проблемы, которые у вас возникнут при использовании Visual Studio:

  • , вы не будете проектировать с нативными элементами управления пользовательского интерфейса
  • эмулятор, используемый для тестирования, будетотличаться
  • вы можете использовать API-вызовы, которые недоступны в библиотеках MonoTouch

Я бы остановился на MonoDevelop на Mac.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...