[Xcode] Missing iOS Distribution signing identity

При попытке на днях отправить очередную сборку приложения в iTunes Connect, выдавалась ошибка «Missing iOS Distribution signing identity for…».

Я потратил много времени, чтобы разобраться в ее причине, ведь раньше все работало нормально. Потом все же удалось найти причину всего этого.

Как оказалось, проблема возникала из-за наличия сертификата WWDR в Keychain Access, срок которого завершился 14 февреаля 2016 года. Решением является установка нового сертификата, и удаление старого.

Предел мечтаний

4 февраля в App Store появилось разрабатываемое нашей командой iOS-приложение «Kino1TV», а спустя неделю оно уже было выбранно редакцией Apple в качестве рекомендуемых:

kino1tv_appstore

[Android] Сколько можно отсылать пушей за раз?

Не так давно столкнулись с проблемой, что при отправки push-уведомлений на устройства пользователей, на конечные устройства ничего не приходило, а GCM (Google Cloud Messaging) присылал ответ Null.

Оказалось, что за раз отправлялось довольная большая порция пушей для выбранных устройств (по 2,5 тыс.), в то время как допустимый лимит – не больше 1 тыс. пушей за раз.

[App Store] Получение информации о приложении

Чтобы получить подробную информацию о приложении, размещенном в Apple App Store, нужно сделать следующи запрос:

https://itunes.apple.com/RU/lookup?bundleId=ru.ivi (по bundle ID)

https://itunes.apple.com/RU/lookup?id=455705533 (по App ID)

В ответе придут данные в формате JSON:

App Store Получение информации о приложении

Открытие ссылки приложения в iTunes или в App Store

Чтобы при нажатии на ссылку приложения автоматически открывался iTunes (на Windows / OS X) или App Store (на iOS) с уже загруженной страницей данного приложения, достаточно использовать следующий формат:

itms-apps://itunes.apple.com/app/id<app_apple_id>

[App Store] Как узнать будущую ссылку приложения

Если у вас есть приложение, которое еще не опубликовано в Apple App Store, но вы хотите уже сейчас знать будущий адрес ссылки, по которому приложение будет доступно, то используйте следующий паттерн:

http://itunes.apple.com/app/id<app_apple_id>

ID-приложения создается до похождения ревью, и его легко можно найти в панели iTunes Connect.

[App Store] О проблемах при добавлении видео-превью

Поддержка виде-превью приложений в App Store была впервые анонсирована на конференции WWDC 2014. И вот вчера я попытался загрузить такое видео для одного из наших приложений, опубликованных в Apple App Store.

Сперва я столкнулся с проблемой, что загрузить видео-ролик можно через браузер Safari под OS X (а на работе только Windows). Придя домой, обнаружилась другая ошибка:

Your app video preview is too long.

Оказалось, что видео-ролик должен быть не больше 30 секунд. Потом:

This video has audio that is not two-channel, no-surround stereo. Please refer to Apple's documentation for appropriate formats.

Ну что же, сконвертировал видео со стерео-звуком. Далее:

The frame rate of your app video preview is too high. For more information, see the Developer Guide.

Частота кадров должна быть не больше 30 в секунду. Ну ок, поменял на 30 fps. После этого видео-ролик загрузился успешно.

Ну в целом, конечно, я поступил неправильно. Вначале нужно было прочитать официальные требования к форматам видео-превью, на основании чего уже правильно подготовить файл. Но и это еще не все – тот ролик, который я загрузил, все равно не подходил по требованиям к видео-превью (в частности, ролик должен содержать интерфейс приложения).

[Xcode] Could not find Developer Disk Image

Решил сегодня собрать проект для iOS. Открыл Xcode, обновленный до 7.1.1, начинаю собирать для подключенного iPad (с iOS 9.2 Beta 4), и тут вылезает ошибка: «Could not find Developer Disk Image».

Иду в директорию, где располагаются образы:

/Applications/Xcode.app/Contents/Developer/Platforms/ iPhoneOS.platform/DeviceSupport

Вижу, что папки 9.2 действительно и нет 🙁 Сейчас сижу, скачиваю Xcode 7.2 Beta с поддержкой iOS 9.2 Beta…

Удаленная отладка веб-сайтов на Android и iOS

Поведение веб-контента на мобильном устройстве порой отличается от того, что мы видим в десктопном браузере. Чтобы понять причины проблем, можно обратиться к удаленной отладке (к примеру, через веб-инспектор).

  1. Android (браузер Chrome) – инструкция по удаленной отладке доступна здесь.
  2. Android (браузер Firefox) – инструкция по удаленной отладке доступна здесь.
  3. iOS (браузер Safari) – инструкция по удаленной отладке доступна здесь.

Про обновление до Android 6

Решил вчера под вечер обновить своей Nexus 5 до Android 6 (на данный момент в качестве последней сборки является DP3).

Решил, как и в прошлые разы, накатывать образ с сохранением пользовательских данных. На первый взгляд, прошло все удачно – телефон запустился, все настройки и приложения сохранены. Но тут, к большому разочарованию, обнаружилось, что:

  1. Не работает шторка уведомлений (выдвигаешь ее, а там всегда пусто) + отсутствуют значки в строке уведомлений.
  2. Не работает кнопка «Домой».

Почитав форумы, на которых описываются схожие проблемы, пришел к заключению, что в этом случае поможет только «чистая» установка Android с удалением пользовательских данных (wipe). И да, это, конечно же, помогло… Правда потом пришлось затратить еще часа три на то, чтобы привести телефон в то состояние, в котором он был до удаления всех данных.

Тут сразу хочется провести параллели с iOS, когда все бета-версии ОС устанавливаются «поверх» без особых проблем, а даже если «что-то и пошло не так», то Backup & Restore спасает на ура. К сожалению, в этом плане Android все еще на шаг позади.