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