После приобретения телефона на WP7 возникло желание разрабатывать приложения на эту платформу (я же программист, как-никак :) . Однако, на этом пути меня поджидали некоторые трудности (то что я работаю на Windows 8 жизни мне не облегчило). Поэтому постараюсь описать процесс "вхождения в процесс" разработки детально, разбирая возникшие проблемы.
Чек-лист для начала:
Если вам достаточно локальной разработки на эмуляторе, то всё что нужно это скачать SDK:
http://www.microsoft.com/ru/ru/softmicrosoft/windowsPhone.aspx
а также во избежание геморроев не делать всё это на Windows 8, в отличие от меня.
Подитог: запустить тестовое приложение на эмуляторе под W8 пока не получилось. Однако на "живой" телефон приложение разворачивается и работает без проблем.
Если не получится - гугл в помощь =\
На Интуите придётся зарегаться, если ещё не. Чтобы получить код регистрируемся на любой курс, например, http://www.intuit.ru/department/school/cs4kids/. После регистрации ищем код на этой же странице (Microsoft Dreamspark - Подробнее>>).
Логинимся с помощью LiveID. Потребуют ввести базовые сведения об аккаунте разработчика, а также инициализировать акк через email (стандартно). Также в процессе потребуется указание основания для создания аккаунта разработчика - будет вариант "я студент". Выбираете его.
http://www.microsoft.com/ru/ru/softmicrosoft/windowsPhone.aspx
Внимание! Если вы работаете под Windows 8, то сначала установите вот это:
http://www.xbox.com/en-US/LIVE/PC/DownloadClient
Необходимо для решения ряда проблем связанных с установкой XNA.
Замечание. Если вы получаете в процессе ошибку "Device not registered with Marketplace", то скорее всего произошла проблема при активации аккаунта на App Hub (http://create.msdn.com).
Всё, теперь вы можете опробовать свои приложения на телефоне. Для этого в процессе создания для запуска приложения надо выбрать Windows Phone Device вместо Windows Phone Emulator.
Разработка приложений для Windows Phone 7 - Учебный курс от новичка к эксперту
http://msdn.microsoft.com/ru-ru/windowsphone/default(en-us).aspx
Чек-лист для начала:
- телефон с Windows Phone 7 (не обязательно)
- ноутбук/компьютер с Windows (желательно 7)
- Интернет
Задача
Подготовить рабочее окружение для:- разработки приложений на WP7
- отладки/тестирования приложений на "живом" телефоне
- (может быть) размещения приложений в Marketplace.
Если вам достаточно локальной разработки на эмуляторе, то всё что нужно это скачать SDK:
http://www.microsoft.com/ru/ru/softmicrosoft/windowsPhone.aspx
а также во избежание геморроев не делать всё это на Windows 8, в отличие от меня.
Подитог: запустить тестовое приложение на эмуляторе под W8 пока не получилось. Однако на "живой" телефон приложение разворачивается и работает без проблем.
Итак, приступим.
Roadmap
- регистрация LiveID
- получение кода регистрации DreamSpark
- регистрация на DreamSpark
- регистрация на App Hub
- скачивание/установка Zune (для связи с телефоном)
- установка SDK
- регистрация телефона разработчика
- решение проблем при развёртывании пробного приложения
Введение
Отвечаю на вопрос - а зачем вообще столько телодвижений? Исходим из предпосылки - вы хотите отлаживать/тестировать свои приложения на "живом" телефоне. Для это вам нужно (начнём с конца):
- размещать приложения на телефоне в обход Маркетплейса
- для этого нужно зарегистрировать телефон как девелоперский
- для этого нужно иметь девелоперский аккунт на App Hub
- для получения дев.аккаунта используем возможности Дримспарк, иначе пришлось бы платить денюжку.
Регистрация LiveID
Казалось бы, элементарная вещь, но в своё время потрепала мне нервы. Дело в том, что существует несколько мест, где Майкрософт предлагает вам зарегистрировать аккаунт LiveID. Но не все работают. Где регистрировался лично я - не помню. Попробуйте здесь:
https://signup.live.com/signup.aspxЕсли не получится - гугл в помощь =\
Получение кода регистрации DreamSpark
Нам необходим авторизованный аккаунт ДримСпарк. Способы его получения ищите тут:
Надо отметить, что знакомый без проблем зарегистрировался отправив скан зачётки.
Но мы пойдём другим путём. Самый простой способ получения акка - регистрация на любом партнёрском курсе от Майкрософт на Интуите. Список партнёрских курсов:
http://www.intuit.ru/catalog/partners/microsoft/На Интуите придётся зарегаться, если ещё не. Чтобы получить код регистрируемся на любой курс, например, http://www.intuit.ru/department/school/cs4kids/. После регистрации ищем код на этой же странице (Microsoft Dreamspark - Подробнее>>).
Регистрация на DreamSpark
После получения кода переходим (внимание!) на https://www.dreamspark.com/, не на .ru как написано на Интуите. Здесь нам придётся создать новый аккаунт, используя полученный ранее код для активации. Также в процессе предложат связать вновь созданный аккаунт LiveID - делаем это (не проверял, но на всякий случай для этого остаёмся залогиненными на Windows Live после регистрации LiveID).Регистрация на App Hub
http://create.msdn.comЛогинимся с помощью LiveID. Потребуют ввести базовые сведения об аккаунте разработчика, а также инициализировать акк через email (стандартно). Также в процессе потребуется указание основания для создания аккаунта разработчика - будет вариант "я студент". Выбираете его.
Установка SDK
Скачиваем и устанавливаем SDK:http://www.microsoft.com/ru/ru/softmicrosoft/windowsPhone.aspx
Внимание! Если вы работаете под Windows 8, то сначала установите вот это:
http://www.xbox.com/en-US/LIVE/PC/DownloadClient
Необходимо для решения ряда проблем связанных с установкой XNA.
Скачивание/установка Zune
Если вы явлетесь счастливым обладателем телефона на WP7 (ведь счастливым же, правда? : ), то скорее всего этот шаг уже выполнен. Zune будет использоваться для связи с телефоном (для развёртывания тестовых приложений).Регистрация телефона разработчика
- подключаем телефон кабелем к ПК
- запускаем Zune
- запускаем утилиту Windows Phone Developer Registration (устанавливается вместе с SDK)
- следуем инструкциям
Замечание. Если вы получаете в процессе ошибку "Device not registered with Marketplace", то скорее всего произошла проблема при активации аккаунта на App Hub (http://create.msdn.com).
Всё, теперь вы можете опробовать свои приложения на телефоне. Для этого в процессе создания для запуска приложения надо выбрать Windows Phone Device вместо Windows Phone Emulator.
Регистрация MS Visual Studio
После нескольких запусков Студия подтребовала регистрацию. Я сначала расстроился, но оказалось, что она бесплатная. Просто следуйте инструкциям.Решение проблем при развёртывании пробного приложения
Итак, вы выполнили все указанные действия, открыли гайд для новичка, создали простейшее пробное приложение, запустили его на эмуляторе и... оно не запускается.
Ошибка "The target "GetCopyToOutputDirectoryContentProjectItems" does not exist in the project"
Если вы получаете эту ошибку, то скорее всего работаете под W8 и невнимательно выполнили этап "Установка SDK". Объяснение проблемы и её решения: http://blogs.msdn.com/b/astebner/archive/2012/02/29/10274694.aspx
Ошибка "Could not find file 'C:\some_path\Visual Studio 2010\Projects\AppName\ AppName \obj\Debug\XapCacheFile.xml'. Please rebuild the solution and try again"
Собственно, следуем рекоммендации и выполняем Отладка -> Построить решение (F6). Мне помогло : ) Просто после глобального решения предыдущей проблемы ожидал чего-то такого же, а ларчик просто открывался.
Ошибка "Разрыв соединения из-за некорректных аргументов командной строки"
По-видимому, причина ошибки здесь:
http://support.microsoft.com/kb/2618032
На Windows 8 решить не удалось. Разворачиваю приложения прямо на телефон.
http://support.microsoft.com/kb/2618032
На Windows 8 решить не удалось. Разворачиваю приложения прямо на телефон.
Полезные ресурсы
App Hub
http://create.msdn.com - место, где мы будем размещать готовые приложенияРазработка приложений для Windows Phone 7 - Учебный курс от новичка к эксперту
http://msdn.microsoft.com/ru-ru/windowsphone/default(en-us).aspx
User Experience Design Guidelines for Windows Phone
Application Certification Requirements for Windows Phone
http://msdn.microsoft.com/en-us/library/hh184843(VS.92).aspx
Execution Model for Windows Phone
http://msdn.microsoft.com/en-us/library/ff769557(v=vs.92).aspx
Execution Model for Windows Phone
http://msdn.microsoft.com/en-us/library/ff769557(v=vs.92).aspx