Хак инициализации
https://qualitycoding.org/unit-test-scene-delegates/
UIWindowScene
через рефлексию Objc для юнит тестирования SceneDelegate
.https://qualitycoding.org/unit-test-scene-delegates/
Quality Coding
How to Overcome Swift to Create Objects You Can't Create for Tests
What can we do when Swift refuses to create an object we need for testing? This example shows how, so we can unit test scene delegates.
Простые способы прорекламировать свой пет проект бесплатно. Без необходимости иметь аккаунт на 5к подписчиков.
https://nemecek.be/blog/129/places-you-can-promote-your-app-for-free
https://nemecek.be/blog/129/places-you-can-promote-your-app-for-free
nemecek.be
Where to promote your app for free?
Without hoping that some journalist will write about it.
Используете что-то кроссплатформенное для того, чтобы шарить код между мобилками и вебом? Приходите на продуктовое интервью к команде Kotlin и расскажите, что именно вы используете, какими подходами пользуетесь и с какими проблемами сталкиваетесь.
https://forms.gle/S2yv3vTf6178FUZh9
https://forms.gle/S2yv3vTf6178FUZh9
Google Docs
Cross-platform solutions research
Future talk will be about your choice of cross-platform solution and process of integrating this solution in your work
Lyft рассказывают об актуальном состоянии их архитектуры. Про использование идей TCA, свой аналог SwiftUI, решения для навигации и DI.
https://scottberrevoets.com/2021/10/14/ios-architecture-at-lyft/
https://scottberrevoets.com/2021/10/14/ios-architecture-at-lyft/
DocC теперь с открытым кодом, как и обещали.
https://github.com/apple/swift-docc
https://github.com/apple/swift-docc
Swift.org
Swift-DocC is Now Open Source
At WWDC21, Apple announced Swift-DocC, a new documentation compiler for Swift frameworks and
packages. Swift-DocC provides an effortless way to author great documentation alongside your code,
and generate comprehensive documentation websites for Swift codebases.…
packages. Swift-DocC provides an effortless way to author great documentation alongside your code,
and generate comprehensive documentation websites for Swift codebases.…
Телеграм-бот для наблюдения за рынком IT
Приглашаем в g-mate — сервис с IT-вакансиями и открытыми вилками ЗП.
Откликаться не обязательно, можно просто наблюдать за рынком: сколько компании готовы платить и за какие навыки.
Например,
Senior iOS Developer [Москва / Удаленка] @ inDriver
~ 250 000 – 380 000 ₽/мес на руки
Software Developer [Удаленка] @ Brightdata
~ 360 000 – 470 000 ₽/мес на руки
Lead iOS Developer [Москва / Удаленка] @ BI.ZONE
~ 300 000 – 370 000 ₽/мес на руки
Senior iOS разработчик [Удаленка] @ TechHive
~ 330 000 – 440 000 ₽/мес на руки
Flutter Programmer [Удаленка] @ Uscreen
~ 220 000 – 360 000 ₽/мес на руки
Подписывайтесь в телеграме https://t.me/g_jobbot?start=u_iosgr1
Приглашаем в g-mate — сервис с IT-вакансиями и открытыми вилками ЗП.
Откликаться не обязательно, можно просто наблюдать за рынком: сколько компании готовы платить и за какие навыки.
Например,
Senior iOS Developer [Москва / Удаленка] @ inDriver
~ 250 000 – 380 000 ₽/мес на руки
Software Developer [Удаленка] @ Brightdata
~ 360 000 – 470 000 ₽/мес на руки
Lead iOS Developer [Москва / Удаленка] @ BI.ZONE
~ 300 000 – 370 000 ₽/мес на руки
Senior iOS разработчик [Удаленка] @ TechHive
~ 330 000 – 440 000 ₽/мес на руки
Flutter Programmer [Удаленка] @ Uscreen
~ 220 000 – 360 000 ₽/мес на руки
Подписывайтесь в телеграме https://t.me/g_jobbot?start=u_iosgr1
Telegram
getmatch: бот с IT-вакансиями
IT-вакансии с открытыми зарплатными вилками — наблюдайте за рынком, даже если не ищете работу.
Может эту статью и не обновят, но теперь она имеет отношение еще и к новым макам. Благодаря ProMotion теперь стоит учитывать еще и частоту обновления в анимациях. Ну и вместо 16.7 мс теперь 8.3 мс.
https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
Apple проведут примерно 100 технических докладов и 1500 встреч с технологическими евангелистами и внутренними командами с 25 октября по 17 декабря.
https://developer.apple.com/tech-talks/
https://developer.apple.com/tech-talks/
Apple Developer
Meet with Apple Experts - Apple Developer
Learn and be inspired with a variety of live presentations, labs, and programs for developers and designers around the world.
Базовый гайд от Санделла по использованию ограничений на
https://www.swiftbysundell.com/articles/specialized-extensions-using-generic-type-constraints/
Self
и ассоциированный тип дженериков для расширения их возможностей.https://www.swiftbysundell.com/articles/specialized-extensions-using-generic-type-constraints/
Swift by Sundell
Specialized extensions using generic type constraints | Swift by Sundell
How Swift’s generics system enables us to create specialized extensions that only apply to types that fit certain requirements, and how that capability can be really useful.
Очевидно что PR’ы лучше не раздувать до невозможного, но иногда это не так просто реализовать. Несколько советов как строить процесс работы над фичей, чтобы оставляли 100 комментов, а не 3.
https://mobile.blog/2021/10/21/breaking-down-large-pull-requests/
https://mobile.blog/2021/10/21/breaking-down-large-pull-requests/
Mobile.blog
Breaking down large pull requests
When working in a software development team, reviewing pull requests (PRs) is part of our everyday work. It is best practice to keep PRs small and concise, just so we can avoid missing potential is…
Все, что нужно знать о менеджерах зависимостей и переходе с CocoaPods и Carthage на SPM. Даже при наличии в некоторых модулях кода на Objc.
https://habr.com/ru/company/indriver/blog/583748/
https://habr.com/ru/company/indriver/blog/583748/
Хабр
Борьба с зависимостями: как мы переводили проект на SwiftPM (и сделали еще хуже, чем было)
Привет, Хабр! Меня зовут Лена, я iOS-разработчик в inDriver. Расскажу о том, как мы выбирали менеджер зависимостей для проекта. Название «Борьба с зависимостями» может...
Подробно об основах обработки жестов с несколькими задачами-решениями:
https://habr.com/ru/post/584100/
hitTest
по слоям, пробрасывание нажатия на уровень вниз, выход subview
за границы.https://habr.com/ru/post/584100/
Хабр
Обработка жестов в iOS
В разработке приложений для iOS важно знать как работает система изнутри. По обработке событий много разной интересной инфы, но хотелось бы структурировать и собрать все в одну. Что я и попытаюсь...
Просыпайтесь, айосеры! Пора стряхнуть пыль с ваших знаний Objective-C и попробовать пройти квиз про его неочевидное поведение. Делитесь ответами в реплаях!
https://gist.github.com/CodaFi/d2fa0ad00cb226558f80aa49a3b82262
https://gist.github.com/CodaFi/d2fa0ad00cb226558f80aa49a3b82262
Gist
A short quiz to expose some gaps in knowledge about Objective-C. Please don't use this to interview somebody.
A short quiz to expose some gaps in knowledge about Objective-C. Please don't use this to interview somebody. - Exam.md
Как iOS-разработчику с опытом прокачать свой уровень?
Начните с курса «iOS Developer. Professional» от OTUS.
Всего за 5 месяцев вы получите знания и практические навыки, без которых нельзя стать Middle+ специалистом.
🔥Научитесь писать выразительный код, который в несколько строчек делает то, на что раньше уходил целый экран.
🔥Научитесь комфортному переносу приложения на Android с сохранением 80-90% логики.
🔥Сможете определять целесообразность применения тех или иных архитектурных паттернов.
🔥Погрузитесь в нюансы использования Rx: когда он необходим и дает окупаемую выгоду.
А также после обучения вы на профессиональном уровне сможете проектировать сложные UI-компоненты и оптимизировать их производительность, разрабатывать клиент-серверные приложения и оффлайн-режим работы.
👉 Пройдите вступительный тест и забронируйте место в группе по специальной цене https://otus.pw/1LE9/
Начните с курса «iOS Developer. Professional» от OTUS.
Всего за 5 месяцев вы получите знания и практические навыки, без которых нельзя стать Middle+ специалистом.
🔥Научитесь писать выразительный код, который в несколько строчек делает то, на что раньше уходил целый экран.
🔥Научитесь комфортному переносу приложения на Android с сохранением 80-90% логики.
🔥Сможете определять целесообразность применения тех или иных архитектурных паттернов.
🔥Погрузитесь в нюансы использования Rx: когда он необходим и дает окупаемую выгоду.
А также после обучения вы на профессиональном уровне сможете проектировать сложные UI-компоненты и оптимизировать их производительность, разрабатывать клиент-серверные приложения и оффлайн-режим работы.
👉 Пройдите вступительный тест и забронируйте место в группе по специальной цене https://otus.pw/1LE9/
Otus
Разработчик iOS: практическое применение Swift 5, работа в Xсode и Git
Курс Разработчик iOS в OTUS с возможностью трудоустройства
В Xcode 13.2 для async/await появится обратная совместимость вплоть до iOS 13. Мои поздравления всем стартапам и инди-разработчикам!
https://www.swiftbysundell.com/special/swift-concurrency-backward-compatibility/
https://www.swiftbysundell.com/special/swift-concurrency-backward-compatibility/
Swift by Sundell
Swift’s new concurrency system gains backward compatibility in Xcode 13.2 | Swift by Sundell
Starting in Xcode 13.2, Swift’s new suite of concurrency features are now backward compatible all the way back to iOS 13, macOS Catalina, watchOS 6, and tvOS 13.
С Core i9 все уже очевидно, но вот сравнение 10-ядерного M1 Max с М1 показывает, что можно еще на 25% компиляцию ускорить.
https://github.com/devMEremenko/XcodeBenchmark
https://github.com/devMEremenko/XcodeBenchmark
GitHub
GitHub - devMEremenko/XcodeBenchmark: XcodeBenchmark measures the compilation time of a large codebase on iMac, MacBook, and Mac…
XcodeBenchmark measures the compilation time of a large codebase on iMac, MacBook, and Mac Pro - devMEremenko/XcodeBenchmark
Weekend Offer в Авито для мобильных разработчиков — это 48 часов, после которых можно услышать: «Вы приняты».
Подайте заявку и проявите себя в онлайн-тестировании. Участников с лучшими результатами пригласят на собеседование. Результат узнаете в день интервью. В Авито вы сможете развивать приложения на iOS и Android, в которые заходят 38 млн человек ежемесячно. Это шанс присоединиться к сообществу сильных iOS- и Android-инженеров и получить комфортные условия для работы и самореализации.
Регистрируйтесь до 11 ноября включительно и получайте быстрый оффер в команду:
https://bit.ly/3pFWn5Q.
Если хотите кого-то порекомендовать, участвуйте в реферальной программе: https://bit.ly/3BfLR7w.
Подайте заявку и проявите себя в онлайн-тестировании. Участников с лучшими результатами пригласят на собеседование. Результат узнаете в день интервью. В Авито вы сможете развивать приложения на iOS и Android, в которые заходят 38 млн человек ежемесячно. Это шанс присоединиться к сообществу сильных iOS- и Android-инженеров и получить комфортные условия для работы и самореализации.
Регистрируйтесь до 11 ноября включительно и получайте быстрый оффер в команду:
https://bit.ly/3pFWn5Q.
Если хотите кого-то порекомендовать, участвуйте в реферальной программе: https://bit.ly/3BfLR7w.
Немного истории про то, почему в iOS пути к файлам опрелеляются через url.
https://forums.swift.org/t/get-folders-number-of-elements/30674/12
https://forums.swift.org/t/get-folders-number-of-elements/30674/12
Swift Forums
Get Folder's Number of Elements
How can I get element number of a folder as a value for label?
Анонс экспериментальной версии библиотеки Swift Distributed Actors для бекенда. Базово все примерно так же, как с локальными, но еще добавляется настройка кластера и возможность того, что процесс/поток просто отвалится.
https://swift.org/blog/distributed-actors/
https://swift.org/blog/distributed-actors/
Swift.org
Introducing Swift Distributed Actors
We’re thrilled to announce a new open-source package for the Swift on Server ecosystem, Swift Distributed Actors, a complete server-oriented cluster library for the upcoming distributed actor language feature!