Bitbucket прекращают поддержку Mercurial, а Android отказались от «сладких» названий версий и анонсировали просто Android 10. Пока эпохи кончаются одна за другой, Xiaomi запустили свой аналог AirDrop, объединившийся с несколькими другими компаниями, а количество спутников китайской навигационной системы BeiDou превысило количество спутников GPS и ГЛОНАСС. Кажется, Китай наступает не только с AliExpress — самое время перечитать App Store Guidelines и выставить правильные рейтинги для этого рынка. И CallKit из приложения убрать, разумеется.
App Developers Claim Apple’s iOS 13 Location Tracking Changes Are Anti-Competitive
Кажется, «Always allow» уходит в прошлое, и некоторых разработчиков это пугает. Мы, конечно же, не из их числа. А вы?
The power of Environment in SwiftUI
EnvironmentValues — коллекция переменных окружения. Автор показывает как использовать их в приложении, модифицировать и даже задействовать в качестве замены Dependency Injection.
Swift Asynchronous Unit Testing with Busy Assertion Pattern
Написание тестов для асинхронного кода предполагает использование XCTestExpectation, но способ этот достаточно многословный. В статье предлагается более простой и интересный способ реализации, основанный на повторяющейся проверке условия (busy-waiting).
Understanding XCUITest screenshots and how to access them
Как создавать скриншоты при тестировании, где они хранятся и для чего помимо тестирования их ещё можно задействовать — рассказано в статье.
Linear Probing
В далеком 2016 в своём блоге автор описывал самостоятельную имплементацию Dictionary, но она была не очень производительна. Для улучшения ситуации в этот раз применяется линейное зондирование — техника для разрешения коллизий в хэш-таблицах.
SwiftUI’s ViewModifier
ViewModifier — протокол SwiftUI позволяющий модифицировать View. Apple уже предлагает нам готовые реализации такие, как .background или .foregroundColor. В статье показаны способы создания собственных модификаторов, например, для размытия контента View.
Understanding Reference and Value type
В материале наглядно показано (с примерами кода и картинками), в чём разница между ссылочными и значимыми типами в Swift.
Xcode Instruments usage to improve app performance
Вводный материал по использованию профилировщика. Будет интересен тем, кто практически не имел опыта использования инструментов Xcode.
SwiftUI: Paths vs. Shapes
Небольшая заметка об отличии Path и Shape в SwiftUI — как приглашение к просмотру очередного эпизода Swift Talk.
Clean AppDelegate
Статья для всех, кто использует AppDelegate по любому удобному поводу с коротким способом сделать его намного проще.
Adding Advanced Features to your Network Stack in Swift (pt. 2)
Вторая часть статьи о создании улучшенного слоя работы с Сетью.
AppSpector
Сервис для удалённой отладки мобильных приложений.
AutomationTools from JustEat
JustEat выложили в открытый доступ их подборку инструментов для UI-тестирования (и не только).
What Really Makes a 10x Engineer
Продолжение нашумевшей истории о качествах «10x»-разработчиков: что за зверь, где водится, как правильно ловить.
How to Improve App Ratings and Reviews
Подборка идей по улучшению отзывов и рейтингов вашего приложения.
Как вас заставляют тратить деньги в бесплатных играх
Взгляд с другой стороны баррикад: то ли подлые трюки, чтобы оставить пользователей без денег, то ли отличные советы по улучшению своих фримиум-приложений.
App Store Ethics
Спорная дискуссия о том, что при разработке приложений нужно заботиться об обществе и окружающем мире.
Developers mentoring other developers: practices I’ve seen work well
Один из лучших способов научиться — это научить кого-нибудь другого. А как это сделать? Часть ответов — по ссылке.