iOS дайджест #25: два года с React Native, пишем тестируемый код, вспоминаем основы Computer Science

В выпуске: Swift NIO, лайфхаки, iPhone SDK исполнилось 10 лет, полное руководство по настройке Push уведомлений.

Статьи

Handling storyboard merge conflicts
Советы, как решать конфликты при мерже storyboards.

Xcode’s Secret Performance Tests
Performance тесты в Xcode можно заставить проверять не только длительность выполнения, но объем потребляемой памяти.

Solving a Mysterious Heap Corruption Crash
Увлекательная история о том, как ребята искали креш у себя в приложении, а нашли баг в Swift.

A Lot Can Happen in a Decade
История о том, каким был iPhone SDK 10 лет назад.

Testable interface design with enums
Учимся проектировать код с учетом покрытия тестами.

twitter.com/...​status/967652885604450305
Apple уделяют большое внимание accessibility в приложениях. При строительстве The Apple Park они тоже не забыли об этом. Доступ целый тред с фото.

iOS remote push notifications in a nutshell
Полное руководства как настроить пуши. Если делаешь это редко, то можно и забыть какой-то шаг. Полезно иметь под рукой.

Open Source Society University
Неплохая подборка по Computer Science. Алгоритмы, структуры данных, компиляторы, теория игры и многое другое.

Has iOS 11 really affected star ratings?
Исследование о том, насколько изменились рейтинги приложений с новым AppStore.

Firebase Crashlytics graduates from beta
Firebase Crashlytics выходит из беты, а это значит, что старый Crashlytics скоро будет недоступен. Готовимся к переезду.

Apple news & rumors from a developer’s perspective
Новый подкаст о новостях и слухах в мире Apple, но с точки зрения разработчиков. В первом выпуске ребята разговаривают о 10-ти летии iPhone SDK, как они начали писать под iOS и многое другое.

A µTutorial on Swift NIO
Apple недавно выпустила фреймворк для бекенда на Swift — SwiftNIO. Как и полагается, у этого инструмента слишком низкоуровневый API. Разбираемся, как написать высокоуровневый API наподобие Express.js.

Best iOS hacks from Twitter: January & February Edition
Очередная подборка лайфхаков из твиттера от Лизы.

Uh Oh! Unified Logs in High Sierra (10.13) Show Plaintext Password for APFS Encrypted External Volumes via Disk Utility.app
Что-то у Apple не ладится с безопасностью. На этот раз писали пароль от вольюма в лог в открытом виде.

Code

Two Years of React Native
Artsy рассказывают о их двухлетнем опыте использования React Native. Также доступна серия других их статей о React Native.

URLRequest debugging
Расширение URLRequest, которое конвертирует запрос для запуска в терминале с помощью cURL. Для дебаггинга весьма полезно.

XCTKVOExpectation for native Swift key paths
XCTKVOExpectation не поддерживает свифтовый keyPath, поэтому можно написать удобное расширение. Помним о том, что тесты должны быть не менее читабельны, чем сам код.

Big List of Naughty Strings
Просто список строк, которые потенциально могут сломать ваше приложение.

TheParallaxView ∙ Illusion of depth by 3D head tracking on iPhone X
3D эффект на iPhone. Лучше один раз увидеть, чем сто раз читать. Реализация доступна на GitHub.

Stealing a User’s Phone Number
Уязвимость, позволяющая узнать номер телефона без запроса каких-либо прав доступа.

Do you often forget [weak self]? Here’s a solution
Синтаксический сахар для предотвращения утечек памяти. Единственная проблема таких штук — приучить всю команду использовать их.

Immutable Model Mutability
Избавляемся от изменяемых моделей.

Preventing views from being model aware in Swift
Отделить UI слой от модели намного проще, чем кажется. И вот отличный пример.

SwiftTips
Еще один набор с короткими советами по Swift.

What’s new in Swift 4.1?
Swift 4.1 включается в себя ряд интересных изменений, с каждым из которых можно ознакомиться с помощью Playground.

CocoaPods 1.5.0 — Swift Static Libraries
Теперь поды можно подключать как статические библиотеки.

Tools & Libs

try! Swift Tokyo 2018 — Introducing Charles for iOS
Charles на iOS уже доступен в AppStore.

An iOS app in assembly
Наконец-то iOS приложения можно писать на ассемблере. Вот теперь заживем.

Resumable Assert
Ассерты, после которых можно продолжать выполнение приложения. Выглядит интересно, но интегрировать в проект я бы не стал.

Zepcode
Zeplin недавно предоставили возможность писать расширения для одноименного приложения и вот уже доступно первое расширение. Кроме стандартных штук, оно позволяют генерировать код для обводок, теней и градиентов.

Exploit11.2
Пару выпусков назад был взлом iOS 11.1.2, теперь доступен новый для iOS 11.2.

ContextMenu
Контекстное меню как в Things 3. Выглядит довольно неплохо.

Peek
Шикарный пример, как нужно продвигать свои библиотеки.

Xcode Releases
Описание, ссылки, release notes для Хcode. Можно даже скачать Xcode 1.


← Предыдущий выпуск: iOS дайджест #24

Похожие статьи:
За окном карантин, и многие сейчас пытаются придумать решение для помощи в борьбе с COVID-19. Мы в VITEch Lab Healthcare также работаем в этом...
Испанское представительство ресурса CNet получило доступ к эксклюзивной информации о будущем смартфоне компании OnePlus. Аппарат...
Телекоммуникационный оператор МТС и мобильный ритейлер «Связной» объявили о запуске на базе сети МТС виртуального...
In 2019, if you want to play free Nintendo DS games, which r4 3ds card will you choose? r4i sdhc 3ds rts? r4i gold pro? or r4i gold 3ds plus? we all known that r4i 3ds gold plus is a special Nintendo ds card,...
Поганий продакт-менеджер — хороший тато підприємець.Народна мудрість Привіт, мене звати Вова, і я —...
Яндекс.Метрика