Как сделать приложение на windows phone. Как создать свое первое приложение для Windows Phone. Пример разработки на конструкторе Microsoft App Studio. Лицензия и разблокировка устройства

Всем привет! Что-то «понесло» меня на статьи про англоязычные ошибки, но ничего не поделать, раз в операционной системе iOS описание проблем часто происходит на родном для iPhone и iPad языке. А как быть русскоговорящему пользователю? Ничего же непонятно! Вот поэтому от подобных инструкций никуда не деться - они просто должны быть.

Итак, дано: ошибка «For assistance contact iTunes support at www.apple.com/support/itunes/ww» в iOS. Наша с вами задача: выяснить - в каких случаях она проявляется, возможные причины проблемы и что со всем этим безобразием делать? В общем, ничего нового - все как обычно:) Не будем затягивать, давайте начинать. Поехали же!

Для того, чтобы было более понятно с чем мы имеем дело, начнем с перевода:

For assistance contact iTunes support at www.apple.com/support/itunes/ww переводится как «для получения помощи обратитесь в службу поддержки iTunes: www.apple.com/support/itunes/ww».

Итак, данная ошибка может возникать:

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

Поэтому переходим ко второму - вы пытаетесь зарегистрировать новый Apple ID и получаете предложение «For assistance contact iTunes support at www.apple.com/support/itunes/ww» - что это значит и с чем связано?

  • Некорректные данные о владельце. Адрес, имя, фамилия, телефон, индекс и т.д. Все они должны быть настоящими или максимально похожими на правду.
  • Проверьте электронный почтовый ящик. Вдруг данная почта уже когда-то использовалась в системе Apple? Лучше всего заведите себе новый e-mail вида «[email protected]» - с ним трудностей не возникнет.
  • Проблема с платежной информацией. Просроченный срок действия, блокировка, отрицательный баланс карты. Очень важно, чтобы привязанная карта была «рабочей» и на ней присутствовали деньги.
  • Несостыковки в указанных данных. Например, при регистрации американского Apple ID вы указываете русский адрес, имя, фамилию, карточку российского банка. Если уж хотите использовать американский App Store, то будьте добры притвориться жителем США.
  • Проблемы с IP-адресом. На мой взгляд, у Apple существует список «подозрительных» IP адресов, которые им по каким-то причинам не нравятся. В данном случае решением будет: перезагрузить роутер, включить-выключить «авиарежим», на время регистрации подключиться к другой сети Wi-Fi.
  • Сбои на серверах Apple (). Решается очень просто - либо ждем пока все не наладится, либо продолжаем с упорством нажимать кнопку «Далее». Авось регистрация и пройдет.

Впрочем есть еще один кардинальный метод решения - если с iPhone или iPad регистрация не проходит, и система навязчиво выдает сообщение «For assistance contact iTunes support at...», то для создания Apple ID можно использовать компьютер, а затем уже готовую учетную запись ввести на устройстве:

Как видите, все очень легко и просто - пара минут и проблема решена!

Но, к сожалению, компьютер под рукой есть не всегда. И если на устройстве (несмотря на все манипуляции и советы) все равно постоянно появляется предложение «For assistance contact...», то, на мой взгляд, сопротивляться уже не стоит - потратьте несколько минут времени и

Недавно со мной произошла удивительная история c неавторизованными покупками, перепиской со службой поддержки iTunes Store и счастливой концовкой. Поэтому мне хотелось бы рассказать о том, как не попасть в подобную ситуацию и что делать, если вы оказались на моем месте. Но для начала небольшая предыстория.

Как-то в конце июня при попытке обновить или загрузить программы из App Store я получил сообщение следующего содержания:

This Apple ID has been disabled for security reasons. Visit iForgot to reset your account (http://iforgot.apple.com)

Активация аккаунта по указанному адресу заняла всего пару минут, после чего я успешно забыл о проблеме, даже не попытавшись найти причину её возникновения, и продолжил работать с магазином приложений для iOS в обычном режиме, а зря. Забегая вперед добавлю, что подобная блокировка может произойти автоматически - после определенного количества неправильных попыток ввода пароля от вашего Apple ID.

После этого прошло ровно две недели и именно в тот момент, когда на протяжении двух суток у меня не было интернета, какой-то нехороший человек загрузил из App Store от моего имени приложение (вариацию покера), после чего совершил в приложении покупку предмета непонятного назначения со странным названием «15M chips» за 20$:

Внимательный читатель несомненно задастся вопросом, насколько простой пароль у меня был выбран? Отвечу: не такой уж простой и он подходил под требования, описанные чуть ниже (когда-то генерировался с помощью pwgen). Я до сих пор теряюсь в догадках.

Вместе с платежной квитанцией ко мне пришло еще два письма. В них значилось, что эти покупки осуществлялись с компьютера, который прежде не был ассоциирован с моим Apple ID, а также предложено как можно скорей сменить пароль:

Хочу предостеречь пользователей: если вы оказались в подобной ситуации, ни за что не загружайте приложение из праздного любопытства - это будет еще одним подтверждением вашей правоты.

Особую пикантность ситуации придавало то, что я на дух не переношу азартные игры, особенно покер:-) Неприятный момент, но зато сразу стали понятны причины июньской блокировки аккаунта.

Спектр мнений, полученных при беглом опросе друзей, был достаточно широк: кто-то говорил, что стоит непременно писать в службу поддержки iTunes Store, а кто-то - что за 20$ Apple нарягаться не станет. Как оказалось, станет.

Входе путешествия по ссылкам «Report a problem» меня перекинуло на форму контакта , где я заполнил соответствующие поля, в выпадающем списке «Specific request» выбрал пункт «I have unauthorized purchases on my account», указал «Order number» (он находится в платежной квитанции) и не забыл подробно описать детали.

Поскольку у меня американский Apple ID, писать письмо и общаться со службой поддержки пришлось на английском. Так что если у вас проблемы с иностранным языком, я рекомендую перед отправкой письма дать его кому-нибудь прочитать и поправить.

К сожалению, ответ на первое обращение в течение обещанных 24 часов не пришел. Не почтили меня вниманием и на второй день, поэтому я просто заново оформил заявку и уже через несколько часов читал первое письмо от очень вежливого сотрудника iTunes Store Customer Support по имени Ранжит (Ranjit).

Дабы злоумышленники (кто бы они ни были) не купили еще чего-нибудь, Ранжит временно отключил возможность загрузки для моего Apple ID и сообщил, что In-App Purchase без моего согласия является исключением из правил предоставления услуг в магазинах Apple и, следовательно, я могу рассчитывать на возврат денег, который должен произойти в течение 5-7 банковских дней (хотя все прошло гораздо быстрей). Также, в письме было указано, что я могу не увидеть вернувшихся денег пока не выйду и снова не зайду в свой аккаунт.

Есть еще один нюанс: деньги были списаны со Store Credit, который появляется после пополнения аккаунта Gift-картой. И неизвестно, чем бы закончилась история, если бы возврат пришлось делать на кредитную карту с моим настоящим адресом. На 99% уверен, что аккаунт бы просто забанили.

Мой Apple ID был заблокирован не полностью: я не мог загружать приложения, но в «личный кабинет» входил без проблем. И чтобы выполнить полную активацию пришлось написать Ранжиту еще одно письмо.

В нем необходимо было указав платежный адрес (billing address), привязанный к учетной записи, и что-то одно на выбор:

  • Order number самой последней покупки или бесплатной загрузки (его можно посмотреть в iTunes - раздел «Most Recent Purchase»).
  • Либо название какого-нибудь приложения, которое я когда-либо загружал с этим аккаунтом.

Настоящему владельцу Apple ID не составит труда ответить на эти вопросы. Также, я не указывал свой телефон, но если с вами захотят поговорить вживую - стоит сказать, что в данный момент вы находитесь за границей и поэтому тот номер уже не используете (в США, насколько я знаю, есть практика повторно использовать старые телефонные номера).

Напоследок мой помощник из службы поддержки iTunes Store в очередной раз настоятельно посоветовал сменить пароль (что я к тому моменту уже успел сделал) и дал ссылку на (англ.) из базы знаний Apple, в которой описаны некоторые приемы по обеспечению безопасности вашей учетной записи.

Приведу из неё несколько интересных моментов. Во-первых, Apple рекомендует выходить из iTunes/App/Mac App Store всякий раз, как вы закончили там совершать покупки. Во-вторых, при установке пароля пользователь может воспользоваться такими рекомендациями:

  • Не использовать один и тот же пароль для нескольких учетных записей или пароль, совпадающий с именем аккаунта.
  • Не использовать предыдущие пароли.
  • Никому не говорить пароль от Apple ID и ответ на секретный вопрос, даже членам своей семьи. Причем ответ на секретный вопрос должен быть неочевидным, чтобы его сложнее было подобрать.
  • Время от времени изменять пароль, чтобы уменьшить риск попадания в ситуацию, аналогичную моей.

Да и сам пароль должен быть не менее 8 символов в длину, содержать как минимум одну цифру, одну прописную, одну строчную букву (можно добавить еще какой-нибудь знак для уверенности, например, @ $ !) и не содержать трех одинаковых последовательных символов.

В диалоге New Project Visual Studio выберем Visual C#, Silverlight for Windows Phone и простой шаблон приложения Windows Phone Application и назовём его ExploringXAMLFeatures.

В диалоге выбора целевой операционной системы выберем Windows Phone OS 7.1

После создания проекта, окно Visual Studio примет следующий вид

Рассмотрим структуру проекта в окне Solution Explorer:

Название файла Назначение
AppManifest.xml Файл манифеста, необходимый для генерации XAP файла, в который упаковывается приложение для развёртывания на телефоне.
AssemblyInfo.cs Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки(Assembly) приложения.
WMAppManifest.xml Файл метаданных, который содержит разнообразные настройки приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д.
App.xaml Это файл ресурсов приложения. Здесь располагаются глобальные ресурсы (это будет рассмотрено при использовании стилей) или глобальные события (происходящие при старте приложения). Этот файл также является точкой входа приложения.
App.xaml.cs Файл кода (code-behind) для App.xaml. Здесь можно обрабатывать события и ошибки уровня приложения, в том числе его tombstoning. Данную концепция будет рассмотрена позднее, когда будет рассматриваться многозадачность.
ApplicationIcon.png Картинка, которая будет иконкой приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с приложением.
Background.png Данная картинка используется, когда приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Разумно сделать её визуально похожей на ApplicationIcon.png.
MainPage.xaml Это часть выбранного шаблона приложения. Название MainPaige не очень удачное, но именно оно используется шаблоном проекта по умолчанию. Этот страница представляет интерфейс, который видит пользователь при старте приложения.
MainPage.xaml.cs Файл кода страницы MainPage.xaml.
SplashScreenImage.jpg Данная картинка отображается во время загрузки +приложения. Можно задать свою картинку с анимацией, чтобы проинформировать, что приложение загружается. Есть техника создания очень динамичных страниц загрузки на XNA, но она выходит далеко за рамки этого цикла статей.

Файлы XAML определяют интерфейс приложения. На самом деле - это просто XML файлы с языком разметки XAML.

Несмотря, что это самый простой проект, он содержит все ключевые элементы, которые содержат все остальные шаблоны и типы проектов.

Обратите внимание, что часть настроек, представленных в виде конфигурационных файлов, могут редактироваться в визуальном интерфейсе редактирования настроек приложения.

Добавление элементов управления на страницу XAML

Обратите внимание, что Visual Studio по умолчанию отображает и дизайн, и XAML код страницы.

Если вы переходили к просмотру других файлов решения, двойным щелчком перейдите на файл MainPage.xaml.

В XAML код файла MainPage.xaml внутрь элеметна Grid с именем ContentPanel вставьте элемент управления Button:

В окне дизайна кнопка отобразится сразу приблизительно в центре интерфейса. Обратили внимание на атрибут Name ? Это уникальный идентификатор элемента, который помогает ссылаться на него в коде. Считайте это ID атрибутом элемента управления. Давайте теперь добавим какие-нибудь действия при нажатии на эту кнопку. Есть два способа привязать событие к кнопке Button (или любому другому элементу управления). В XAML, прямо в определении Button, можно добавить атрибут Click и система InteliSense автоматически спросит, хотим ли мы сгенерировать новый обработчик событий:

Можно связать обработчик событий напрямую в коде страницы Home.xaml.cs не указывая его в XAML файле:

Public MainPage() { InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); }

Оба способа работают. Можете использовать любой из них. Для упрощения здесь будет использоваться определение метода в XAML. Теперь в функции MyButton_Click можно написать управляемый код, который будет изменять интерфейс или вызывать другие функции. Завершим наш пример приложения, добавив код, который будет изменять текст в TextBlock PageTitle (PageTitle – это Name, так что можно ссылаться на неё напрямую в коде) на «привет wp7». Чтобы сделать это допишем следующий код в функцию:

Private void MyButton_Click(object sender, RoutedEventArgs e) { PageTitle.Text = "привет wp7"; }

Выберем в настройках проекта Windows Device Emulator

И запустим приложение, нажав на зеленый треугольник или копку F5. После запуска приложения и нажатия на кнопку «Нажми меня», вид экрана должен быть аналогичным снимку экрана ниже:

Добавление новых страниц в проект

Только самое простое приложение состоит из одной страницы. Мы хотим научиться писать сложные многостраничные приложения. Мы можем использовать шаблоны Pivot, Panorama, можем использовать паттерн проектирования MVVM (Model-View-ViewModel), а сначала научимся добавлять новые страницы в проект и переходить между ними.

В окне Solution Explorer щелкнем правой кнопкой мыши по названия проекта, и в отобразившемся меню выберем, Add, далее New Item, в открывшемся диалоговом окне выберем Windows Phone Portrait Page и назовем её SecondPage.xaml:

Теперь у нас есть пустая XAML страница, точная копия страницы MainPage.xaml до того, как мы её отредактировали.

Чтобы лучше различать страницы, перейдем к XAML коду страницы SecondPage и у элемента TextBlock с Name PageTitle отредактируем свойство Text, как показано ниже:

Навигация между страницами приложения

Итак, у нас в проекте есть две страницы, при запуске приложения отображается страница MainPage.xaml. Как теперь перейти со страницы MainPage.xaml на SecondPage.xaml?

Попробуем два простых способа, как это сделать.

В XAML код файла MainPage.xaml после добавленного ранее кода Button, добавим код HyperlinkButton, как показано ниже:

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: