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
Вчимося проектувати код з урахуванням покриття тестами.


Apple приділяють велику увагу містяться в додатках. При будівництві 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

Опубліковано: 27/04/18 @ 10:20
Розділ Різне

Рекомендуємо:

Як вчити .NET: докладна інструкція для новачків і пару порад для досвідчених
Як скоротити ручне тестування і чи можна без нього обійтися
Розробник ядра та драйверів Intel — про входження в професію, "сушці" мізків і релокації в Фінляндії
DevOps дайджест #19: Jenkins X і DevOps інтернатура
Поради сеньйорів: як прокачати знання junior Ruby