Исповедь iOS-разработчика, или «за что я ненавижу iOS»
13К открытий13К показов
Для пользователя iOS — прекрасная платформа. Иногда она бывает немного скучной и недостаточно гибкой, а иногда — красивой и удобной (второе — большую часть времени).
А вот у разработчиков не все так гладко. Для них иметь дело с iOS (и Apple вообще) — это как пытаться найти общий язык с роботом-параноиком, работающим советским пограничником в произведении Кафки.
Safari под iOS — это боль
Это один их самых кошмарных браузеров, с которыми я имел удовольствие работать с тех пор, как в далекие 90-е стал веб-разработчиком. Я потерял счет хакам и костылям, которые наворотил в своем коде, чтобы он нормально себя вел в Safari под iOS. Для мира, живущего по стандартам 2016 года, это дико.
Чтобы вы понимали, о чем я. Как вам то, что вы не можете указать высоту элемента iframe? Он появился в 1999 году, и поэтому это можно сделать в любом браузере — даже на IE6, самом ненавистном браузере планеты. Но не в Safari. С 2011 года эта проблема так и висит неразрешенной.
Естественно, вас это поразит. Почему Apple не может использовать под iOS другие браузерные движки? Или почему Apple больше не инвестирует в проект Webkit, как делает это Google с Chromium?
Вы не можете (без проблем) потестировать старые версии iOS
Как-то раз я хотел потестировать симулятор под iOS 7, и знаете, что мне помешало? Так сделать нельзя. Нет, ну вообще кое-как можно, но для этого надо скачать старую и уже давно не поддерживаемую версию Xcode, которая работает только под Mavericks.
Таким образом, остается собирать у рабочего стола коллекцию старых “маков” и складывать в ящики старые устройства под iOS, молясь, чтобы Apple не сломала что-нибудь еще.
Политика Apple — в том, чтобы «пленных не брать». Если вы не обновляете свои девайсы — вы не «свой человек». Так что идите и покупайте новое, если не хотите сидеть с забагованными приложениями.
Сертификаты и профили
Работа с сертификатами iOS — работа утомительная, полная бюрократии и покрытая завесой загадок. Иногда что-то идет не так — и ни документация Apple, ни Xcode, ни ужасный Member Center не прольет свет на истинные причины происходящего.
Недавно я потерял 2 дня, пытаясь понять, почему у меня не создается сертификат. Наконец, я нашел ответ в непонятной документации от Mozilla. Xcode просто продемонстрировал мне неактивную кнопку, на форуме разработчиков Apple ответа никто не дал.
Как разработчику вам не требуется спрашивать у Apple разрешения на запуск своего кода на ваших устройствах. Знаете, как и на любой другой платформе мира. Даже macOS.
AppStore
AppStore — еще один уголок разочарования. Например, всего несколько часов мое приложение отклонили, потому что кому-то в компании не понравились его скриншоты.
Мы заметили, что ваши скриншоты не демонстрируют должным образом работу приложения.
Я просто загрузил те же скриншоты, ничего не меняя.
Если Apple надо, чтобы скриншотов было больше, или они просто некрасивые, то почему бы так об этом и не сказать? Нет, я ведь не заслужил ничего большего, чем автоматический ответ.
Кстати, на то, чтобы решить, нравятся ли компании ваши скриншоты, Apple тратит примерно неделю. Удачи вам с планированием даты релиза.
Помните робота из фильма Элизиум?
Я загрузил скриншоты еще раз — надеюсь, рано или поздно они соизволят дать более адекватный ответ. Пока что мне приходится просто терять время.
Впрочем, моя ситуация не так страшна, как та, что недавно случилась с приложением Dash под iOS. Apple решила, что разработчик такого успешного приложения — определенно мошенник, и заблокировала его приложение.
Решение Apple окончательное и обжалованию не подлежит.
Естественно, все мы знаем — Apple идеальна и ошибок никогда не совершает. Почему это вы хотите подавать апелляцию?
Самое страшное
За привилегию быть iOS-разработчиком надо платить. Мало того, что вам приходится работать за компьютером, купленным с наценкой за бренд, и терпеть все эти проблемы — нужно платить за свои страдания.
Быть может, однажды Apple делает среду разработки под iOS бесплатной для всех. Весь мир будет дружно аплодировать, а фанбои — утирать слезы счастья. Ах, какой щедрый жест!
Кстати, почти под любую другую платформу можно разрабатывать бесплатно и даже компилировать под какие-нибудь другие платформы. Ну то есть скомпилировать приложение для Windows под macOS, Android-приложение под Linux.
Вот так оно.
13К открытий13К показов