Выпуск №139

13 октября 2017

Windows 10 Mobile жаль, правда. Я симпатизировал этому семейству мобильных ОС. Зато Яндекс можно поздравить с днём рождения Алисы. Siri на русском глуповата. Со своим Nexus 5X я тоже не могу поговорить на великом и могучем. В такой ситуации Алиса — находка. Долгожданная гостья из будущего. Яндексу респект. Алису бы да внутрь iOS, чтобы можно было выбирать голосового помощника, как можно выбирать поисковую систему. Вряд ли Apple даст это сделать.

Кстати, у самой Apple не всё гладко с батареями iPhone. Но мы-то уж точно не будем раздувать из этого новость. До предзаказа iPhone X осталось чуть больше двух недель. Пора проверить своё приложение на симуляторе в Xcode 9. Xcode 9 — лучшее тонизирующее этого месяца. Повышает давление, концентрацию, словарный запас.

СВЕЖАК ДЛЯ iOS-РАЗРАБОТЧИКОВ

Digest MBLTDEV — это собрание самой полезной и свежей информации для iOS-разработчиков с просторов мирового интернета. Выпуск выходит каждую пятницу. Подписка бесплатная. И никакого спама, честно!

ПодписатьсяSafari push notifications

Новости

iOS Privacy: steal.password - Easily get the user's Apple ID password, just by asking

Описание фишинговой атаки от создателя fastlane. Кроме сути атаки предлагается и рецепт защиты. Кнопка Home — ваш друг. Если окно свернулось с программой — это фишинг. Оригинальное окно останется на экране даже после нажатия Home. В браузерах все привыкли к фишингу. Людей учат, на что обращать внимание. Браузеры умеют неплохо фильтровать безобразников. А вот в мире мобильных приложений это явление новое.

Код

ImagineEngine

После двух лет работы небезызвестный John Sundell выпустил свой игровой движок, написанный на Swift. Интересный аналог Sprite2D, есть шанс, что будет поддерживаться куда лучше благодаря Open Source сообществу.

Timepiece

Обёртка для работы с датами. Умеет штуки вроде now — 2.months; подключается через Pods или Carthage.

Swift Compiler Performance

Если вы пишете на Swift и у вас средний/большой проект, то вы уже наверняка столкнулись с проблемами медленной компиляции. И чтобы их решить, сперва надо понять, что происходит. И тут нам помогли разработчики Swift, написав эту статью. Прямо кладезь полезной информации. Например, популярный “WMO + Onone” — это, оказывается, “an unsupported (and somewhat unfortunate)” способ компиляции. Рекомендую посмотреть раздел “Diagnostic options”, в нём можно найти ключи для компилятора, которые заставят его выводить больше информации.

Full build log

Оказывается, что полный билд лог можно найти в DerivedData. Это будет зазипованный текстовый файл с расширением xcactivitylog где-то в “~/Library/Developer/Xcode/DerivedData/<YOURAPP>/Logs/Debug/”.

xcprofiler

Если указать ключ “-debug-time-function-bodies”, в логе компилятора можно будет найти время, затраченное на typechecking. Эта утилитка берёт лог из DerivedData и показывает места с самым дорогим typechecking.

Deeper

Мейбл, Пухля… Помните статью Ильи про Deep Links из выпуска №135? Это реализация к изложенной в статье концепциям.

Дизайн

Видео

RDSDataSource: Основы LLVM

Основные компоненты LLVM и связи между ними. Всё это чуть меньше, чем за 17 минут. Королём мира компиляторов за 17 минут вы не станете, но общее представление получите. Что и замышлялось.

Инструменты

DeviceCheck API

Все уже успели забыть, что в iOS 11 появилось официальное DeviceCheck API, которое позволит запоминать юзеров в виде 2-х битовой маски, даже если они сбросят данные на девайсе. Остаётся только один вопрос: как же работать с теми, кто купил б/у iPhone.

Google Apps Script

К миру Apple отношения не имеет, но возможность интересная: можно писать скрипты для всяких сервисов Google. Ссылка сразу на страницу с примерами.

СВЕЖАК ДЛЯ iOS-РАЗРАБОТЧИКОВ

Digest MBLTDEV — это собрание самой полезной и свежей информации для iOS-разработчиков с просторов мирового интернета. Выпуск выходит каждую пятницу. Подписка бесплатная. И никакого спама, честно!

ПодписатьсяSafari push notifications