#ios

страница 2 из 3
пост №1104Разработка и инженерия

Тестирование пуш-уведомлений в iOS всегда было болью. Сколько раз я сам чуть не отправлял пуш «тест» в продакшен (после одного такого раза я перестал тестировать заголовок «Путин умер»), сколько раз видел «тест» от именитых брендов.
А всё потому что пуши работали только на физических телефонах, не на симуляторах.

Наконец-то, в XCode 11.4 можно просто перетащить файл с содержимым пуша в симулятор и он придет как пуш в приложение. Наконец-то! via

пост №1023Продукты и дизайн

Посмотрите, как выглядит интерфейс шеринга фотографии в последнем iOS на восьмом айфоне. Для меня очевидно, что после Copy дальше есть остальные пункты меню.

Оказывается, что из-за «идеального кропа» люди до этого не догадываются.

К Apple супер высокие ожидания в этих интерфейсах. В данном случае придираются к мелочам.

А вы как, догадались бы?

👍 372👎 735🐝 130
пост №992Продукты и дизайн

Красивый танец в приложении настроек iOS.

💃 Поисковая строка появляется только если потянуть список вниз, причём это работает даже из низа списка сильным движением.
💃 Крупный заголовок уступает место мелкому по центру по мере скролла вниз.
💃 Медленный скролл залипает к «красивому», «переходному» состоянию, быстрый - проскакивает
💃 Слово «🔍 поиск» появляется и исчезает по мере раскрытия и схлопывания поисковой строки.

Одна вещь, которую я не могу понять: почему настройки в iOS называются Settings, а в macOS -
Preferences. 🤷

пост №957Интернет и платформы

Впечатляющая ежегодная презентация Apple WWDC. Формально для разработчиков, на самом деле смотрят, конечно, все. Презентовали новые iOS и macOS, которые выйдут публично осенью.

То, что заметят все:
- потерянные макбуки можно будет искать при помощи Bluetooth через сеть всех айфонов на планете;
- activation lock для макбуков, наконец-то. Украденный макбук перестанет работать и превратится в тыкву (читай запчасти);
- Sign in with Apple — регистрация и вход в приложения одной кнопкой (все стартапы дружно пошли программировать). Для каждого приложения генерируется уникальный почтовый ящик, так что можно легко отписаться и приложения никак не смогут вас затрекать. Google, FB и прочие маркетологи сильно недовольны сейчас;
- новое приложение для фото с использованием ML;
- переделали карты, но как и раньше, только для избранных стран, продолжаем пользоваться Google maps и maps.me :(
- клавиатура со свайпами (да, как в андроиде уже много лет);
- подкасты не забыты — тоже, как гугл, распознают тексты и позволяют по ним искать. Интересно, будет ли работать с русским?
- поработали над скоростью, обещают, что всё станет быстрее, а FaceID ускорится аж на треть;
- системник мак про за 6 тысяч баксов и гигантский (и кажется, очень хороший) ретина монитор от Apple за 5 тысяч долларов (за 6 тысяч матовый). Стойка к монитору ещё тысяча. Готовьте денежки, богачи! 💸

Для разработчиков:
- iPad-приложения можно перекомпилировать для маков чуть ли ни одной клавишей; для демо на сцену выпустили подозрительно улыбчивого разработчика Jira 🙈
- новая система верстки интерфейсов в Swift, простая прямо как в Keynote. Кажется, я смогу наконец сделать приложение, которое не осилил заверстать через сonstraints!
- новая платформа для AR, кажется хорошая (то, что обещает Magic leap, только без очков). Классная презентация майнкрафта с AR;
- голосовое управление сделали классное (нет, это не Voice Over, чуть другое, для видящих).

В целом: бодренько, ждем ускорения айфонов осенью и издеваемся над ценой за стойку монитора. Каноническая текстовая трансляция MacRumors.

пост №944Работа и карьера

Soulver — cупер-программка, если нужно что-то посчитать. Умеет арифметику, переводы величин и валюты. Всё кроме самых сложных моделей считаю в ней. Деньги на отпуск в чужой валюте, время на обработку миллиона картинок в 4 потока, стоимость аренды серверов с учетом скидки — это всё гораздо удобнее считать в Soulver, чем в гугл-таблицах. Есть под Mac (9$) и iOS (230₽). Windows клон — OpenCalc.

пост №837Разработка и инженерия

Раз уж зашла речь об Apple — будет неприлично не упомянуть баг в Facetime. Достаточно позвонить на устройство с последней версией iOS и добавить себя самого в групповой звонок, чтобы начать слышать звук собеседника, ещё до того, как он поднял трубку. Если добавить самого себя и взять трубку с третьего устройства — то будет видно ещё и видео до того, как собеседник поднял трубку.

Если хотите почувствовать себя хакером прямо сейчас — разочарую, Apple временно выключили групповые звонки, пока не раскатится обновление с исправлением проблемы.

Понятно, что это адуха и люди близкие к программированию скажут «они что, совсем с катушек съехали, как такое можно было запрогать?». Люди, программировавшие VoIP (голосовые сервисы) и участвовавшие в разработке крупных и долгоживущих проектов (а iOS, это, безусловно, крупный и старый проект) не удивлены — можно прямо сходу придумать вполне реалистичное объяснение, почему так получилось.

Одна из гипотез: Facetime начинает отсылать аудио и видео сразу же после набора номера. Сделано это для того, чтобы после нажатия кнопки «принять звонок» не было даже малейшей задержки. Звонок начнется мгновенно. Добавление групповых звонков программировала отдельная команда и они не до конца разобрались с диаграммой состояний звонка (она дико сложная) — и вот мы все видим результат.

Учитывая, что Apple в течении нескольких часов выключили групповые звонки, через неделю выпустят фикс, а ещё через неделю у 90% пользователей будет установлено исправление — всё нормально. Что будет, если аналогичная проблема найдется в Android — вот об этом страшно подумать.

Ну и обязательный xkcd:

пост №836Технологии и общество

Apple отозвал корпоративный сертификат Facebook для iOS-разработки (Apple Developer Enterprise Program). Это беспрецедентный шаг, перестали работать десятки внутренних приложений Facebook под iOS, в основном — бета-версии програм, которые фб тестировал не-публично.

Причина - Facebook нарушил правило, по которому приложения, подписанные корпоративными сертификатами, можно использовать только на устройствах сотрудников. Facebook предлагал своим пользователям (в том числе несовершеннолетним) установить подписанное корпоративным сертификатом приложение Facebook research, которое высасывало все личные данные из телефона за 20 долларов в месяц. Вчера об этом написал техкранч и Apple сразу же отозвал сертификат. Через 7 часов после этого фб заявил, что прекратит программу (умолчав, что программу за них прекратил Apple).

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

Но то, что Apple в ответ отозвали корпоративный сертификат — очень интересное развитие событий. Апсторы гугла и эпла настолько системообразующие, что легко забыть, что они — не нейтральные общественные площадки для распространения программ. В этом случае Apple играет карту «делаем хорошо для пользователя». Но всё равно, сколько крупных компаний прямо сейчас задумались, а нужно ли им быть в такой сильной зависимости от Apple? Представьте, у вас десятки тысяч сотрудников, у них на руках десятки тысяч устройств с вашими рабочими программами. И вдруг во мгновение ока всё это превращается в тыкву, программы перестают работать и никто кроме Apple не может вам помочь.

Даже жалко немного фейсбук (на самом деле нет).

пост №676Разработка и инженерия

Айфоны и андроиды. Для потребителя разница минимальна. Тот же экран блокировки с большими цифровыми часами, те же самые приложения.

Для любого человек в этом варящегося, iOS и Android - две параллельные вселенные. То, что ты сделал в одном мире - во многом не применимо в другом. Редкие программисты умеют разрабатывать приложения для обоих платформ одновременно, знают хорошо обе платформы - единицы.

Если компания хочет сделать приложение и для андроидов и для айфонов, она содержит два параллельных отдела мобильной разработки - для iOS и для Android. Каждая из двух программ выглядит немного по-своему, сроки разработки немного разные, ошибки — уникальны.

Каждые пару лет появляется новая технология «кроссплатформенной разработки». Меняются названия, технологии под капотом и компании, её продвигающие. Я на своём профессиональном веку увидел хайп и угасание гигантов PhoneGap — монструозный HTML, купленный Adobe и позже отданный в Open Source и переименованный в Apache Cordova; Xamarin — пишем на C#, который компилируется в нативные приложения для каждой платформы. Microsoft купила её в 2016.

Остаются неизменными:
1) набор обещаний: в два раза меньше разработчиков (одна общая команда) и программы, выглядящие и работающие одинаково на айфонах и на андроидах;
2) проблемы — кросплатформенные программы тормозят, нещадно жрут батарейку, выглядят как пришельцы с другой планеты для внимательных пользователей каждой платформы, а ещё в какой-то момент эти инструменты начинают создавать больше проблем, чем решают.

Последняя модная (суперхайп) технология такого рода — React Native от Facebook. Программируем на современном lingua franca — javascript, а весь пользовательский интерфейс может быть нативным для платформы. Работает быстро, выглядит классно. Потенциально можно программировать силами веб-разработчиков (ну почти). Самое главное — в старые приложения можно добавлять новые экраны, сделанные на react-native. Технология молодая (2015 год), есть множество нерешенных проблем, но это первая кроссплатформенная балалайка, которую мне хочется попробовать. В России я знаю несколько компаний, которые успешно используют RN в продакшен-разработке. Радио Арзамас сделано на RN, например.

Я рассказываю всё это, чтобы вы поняли «интригу, скандал и расследование», которые рождает вот этот тред в твиттере

https://twitter.com/sandofsky/status/1002637340291018754 (мол сам фб перестал использовать RN в основном приложении)

пост №496Разработка и инженерия

Воскресная подборка, если хочется почитать:
- восстановление того, что видит человек, по fMRI! (pdf). Довольно огненно, это как если бы шуму вентилятора процессора можно было понять, что на этом процессоре считается (oh wait);
- ещё один side channel attack (в шумихе с процессорами был именно этот тип атаки) — можно понять, что за тобой следит дрон, даже не взламывая шифрование канала связи дрона (по объему передаваемых данных);
- Apple обновил документ по безопасности iOS — канонический пример того, как хорошо рассказать о технологиях;
- очень красивые фотки с завода карандашей (production porn);
- серия из трех видео про мозги, в которых девушка-математик походя объясняет, что такое симплекс;
- безопасники убера заплатил хакеру 100k USD, чтобы тот не говорил об уязвимости, через которую можно было вытащить все личные данные (и никому об этом не сказали). CSO уволили, у всех бомбит.