Pull to refresh

Кремлевские девойки

Reading time3 min
Views22K

Октябрь? На душе пусто, а в магазине приложений Apple дым стоит коромыслом. Чего тут только нет. Местная ЧК чистит полки и разработчикам приходят письма.

Дорогой друг
Ваше приложение King Towers устарело и мы удаляем его из нашего магазина

И так по письму раз в неделю. Приложения, дорогие мне как память о далеком Obj-C, я попытался быстро переписать на Swift. Но и здесь очередное коромысло ждало героя. В дом вошел Xcode 8 с новой супругой Swift 3.0. Из старого птичьего кода ничего более не работало. Сточив две мыши, я смог сократить текст в два раза (я становлюсь программистом?) и освоил птичий язык в третий раз, но новая беда — все перелицованные приложения не запустились. Знаете почему?

Картинки-вирусы


Потому что нельзя быть счастливой такой. Apple решил, что jpeg и png файлы хранят в себе скрытую угрозу в виде исполняемого кода. Каково?! Поэтому необходимо почистить атрибуты файлов-картинок из старых и новых проектов.

Для этого я использую команду (пришлось стать чуть-чуть Unix-оидом)

find . -type f -name '*.png' -exec xattr -c {} \;

Использую до сих пор — Фотошоп не знает об инновациях Apple и сохраняет файлы по старому. А ведь на носу 2017. Они, что Хабр не читают? Юзают до сих пор npm?

Ок, вернемся к удаленным играм. Есть и хорошие новости — выброшенные приложения могут быть обновлены! Я загрузил новые версии старых программ. Признаюсь, не все версии были одобрены — Review Team стала активно не пропускать новые варианты забаненых приложений. Но 3 раза мне таки удалось опубликовать полностью переделанные программы.

Переход на Swift 3.0


Старый swift-код автоматически конвертируется в новый язык; Xcode спрашивает вашего согласия для данной операции. Я не буду приводить примеры, как все поменялось. Ладно, один покажу:

// Swift from 20 century
groundObama.layer.borderColor = UIColor.redColor().CGColor
// Swift 3.0
groundTrump.layer.borderColor = UIColor.red.cgColor

Не сложно, но иногда впадаешь в недоумение. И даже бываешь обескуражен. При этом… ладно, тут открывается широкая тема, а я хотел про новую игровую идею рассказать.

Скажу лишь, что новый язык мне нравится.

Google наносит ответный удар


С 1 октября гугл обрадовал нас другим письмом — все ваши игры со старым adMob.framework отныне не приносят денег создателю. То есть, если вы сделали бесплатное приложение с рекламой от Google и ему стукнуло 2 года — все, кранты, финиш, фиаско — этот продукт более не приносит денег. Это невероятно! То есть Гугл сам отказался от 30% доходов от данных приложений. Я не верил, но факт — вместо 50 долларов в день с 1 октября я стал получать лишь 20. Катастрофа. Я срочно бросился обновлять старые успешные программы. Не спал 2 ночи. сломал 18 клавиш. А тем временем доходы вернулись почти на прежний уровень. Не 50, но жить можно. Тем не менее, я всем рекомендую перепрыгнуть на новый движок adMob.

И вот, пока я лихорадочно переписывал старые игры, мне пришла в голову новая идея.

Новая идея


Не надо ржать, я придумал классную игру. Думаю вам тоже понравится. Зачем я пишу здесь про игру? Копирайт, братья, копирайт. Я ненавижу авторские права и все мое — твое.

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

В советские времена я использовал для копирайта трюк с почтой СССР- посылаешь заказное письмо сам себе — в письме дискета с кодом и листингом. Письмо не вскрываешь и через 20 лет его выбрасываешь (дискета рассыпалась в пыль, наверняка). Но, в случае чего (привет Клинтону), в суде можно доказать, кто настоящий отец.

Сейчас все проще — публикуешь статью на Хабре и вуа-ля, спокойно спишь. Мне один раз помогла публикация на Хабре (ноябрь 2011 года) и дело было выиграно. Коньяк выпит.

Так вот, рассказываю про новую идею игры-головоломки. Сначала просто посмотрите видео геймплея.



Игра называется Kremlins и сделана мной в стиле русских матрешек. Матрешки складываются друг в друга, цель — собрать все 6 матрешек и решить очередную головоломку. Собранная матрешка снимается с доски. Правила складывания матрешек изумительно просты — можно перекладывать друг на друга матрешки одного цвета. Несложно, правда? Хороших вам выходных.

Получилось неплохо, я нагенерил миллион раскладов, подготовил сервер с двумя mysql таблицами и парой пхп-скриптов для хранения лучших результатов.

Игру сделал быстро, попытался выложить под именем одного из удаленных приложений — но Review Тим не пропустили очередную версию. Типа, слишком много изменений. Выпускай под новым именем. Я и выпустил. Кстати, если вы Андроид-разработчик — можете выпускать клон игры ничтоже сумняшеся.

Большой плюс в современном магазине яблока — приложения рассматривают очень быстро и одобряют за день. Никаких недель ожидания. Первую версию игры я сделал платной и даже получил 30 покупок, что невероятно! Обычно 0. Приношу прощения покупателям.

Потому что сегодня одобрена новая бесплатная версия, и я осмелился опубликовать сей опус. Всем удачи и хороших выходных!

У нас +22, бабье лето.
Tags:
Hubs:
Total votes 85: ↑62 and ↓23+39
Comments31

Articles