Какой образ Android выбрать – x86 или ARM?

Какая разница между системными образами Android под x86 и ARM? В утилите SDK Manager доступно на выбор два образа, так какой из них установить на своем компьютере, чтобы запустить эмулятор?

На самом деле, установить можно как образ для x86, так и для ARM. Разница будет заключаться в том, что при использовании образов x86 скорость эмулятора в сочетании с HAXM (Intel Hardware Accelerated Execution Manager) возрастает почти в 10 раз по сравнению с образом для ARM, т.к. разработчики, обычно, используют компьютеры на базе Intel x86.

Тем не менее, образ ARM более точно соответствует устройству на базе Android, но требует эмулирования процессора, что влечет за собой уменьшение производительности.

[Safari] QuotaExceededError: Dom exception 22

Столкнулись с проблемой, что в мобильном браузере Safari на iOS не работала функция сохранения данных в localStorage. Попытка записи вызывала ошибку:

QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota

Проблема, кстати, была бы не замечена, если не открытая приватная вкладка (режим «Инкогнито»).

Оказывается, у Safari есть такое странное поведение – в режиме «Инкогнито» данные не охраняются в localStorage. Больше похоже на багу, чем на фичу.

[App Store] Об отсутствии доступа к списку транзакцией по платежам

Задал вопрос Apple, почему в iTunes Connect нигде не наблюдается списка транзакций по совершенным платежам пользователей. В отчетах представлены лишь общие сведения о суммарном количестве платежей и подписок, но нет записей вида «Платеж #1, совершен 17.05.2016 в 13:54, тип покупки такой-то, ID транзакции такой-то…», т.е. все то, что есть, скажем, в Google Play, где разработчику изначально все эти данные доступны.

Из-за отсутствия списка транзакций на стороне Apple невозможно провести сопоставление по каждому совершенному платежу, зафиксированному в системе учета разработчика. Так, за прошлый месяц в нашем приложении было совершенно N-платежей, в то время как в отчетах Apple значится сумма в N-200. Спрашивается, а куда делись эти двести незасчитанных покупок? Вот тут и помог бы список транзакций — сделали бы сопоставление данных, нашли, какие платежи не были учтены. Но нет, такое сделать нельзя.

Ответ Apple:

Читать далее «[App Store] Об отсутствии доступа к списку транзакцией по платежам»

iPad Air -> iPad Pro 9,7″

Недавно продал свой iPad Air, купленный в 2013 году, за 22 тыс. рублей (а покупал его тогда за 27990 руб.). Что-то, а продукция Apple, действительно, крайне востребована на вторичном рынке.

После этого чуть больше недели пользовался iPad 3 (он же The New iPad), взятым со склада на работе. Когда у меня раньше был iPad 3, то все действия казалось плавными и быстрыми, но сейчас при работе с планшетом очень сильно заметны подтормаживания. Возможно, виной всему iOS 9…

И вот на днях все же раскошелился, и приобрел iPad Pro 9,7″ (версия с Wi-Fi, 32 ГБ) за 43990 руб., что почти на 10 тыс. меньше, чем официальная цена в App Store. Да, прошли те времена, когда в российском App Store цены были как у перекупщиков. Теперь снова выгодно покупать «серые» устройства, привезенные из Финляндии или США.

iPad Pro стал четвертым планшетом от Apple, которым я пользуюсь. По традиции меняю я их через одно поколение: iPad -> iPad 3 -> iPad Air -> iPad Pro.

Ценообразование в App Store

18 января 2016 года, когда курс доллара превысил 76 рублей, Apple разослала разработчикам информацию о том, что в течение ближайших дней для магазина приложений App Store будет изменена цена в сторону повышения, из расчета 75 руб. за $1 (до этого $1 оценивался в 59 руб.).

22 января курс доллара перевалил за 83 рубля, но уже с конца месяца курс перешел на понижение. С конца марта курс опустился ниже 70 рублей за $1, и на данный момент составляет 66 рублей. Однако на данный момент Apple не торопится вновь пересмотреть цены (уже в сторону понижения), как это было оперативно сделано в дни резкого ослабления курса рубля.

Либо Apple ожидает, что в ближайшие недели рубль вновь ослабеет, либо просто оттягивает неизбежное понижение цен.

Ценообразование в App Store

[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>