🔥 Научитесь с нуля создавать iOS-приложения!
За 12 месяцев вы пройдете путь от основ программирования до создания двух готовых приложений, которые сможете загрузить в AppStore.
Формат: интерактивные лекции с экспертами + еженедельный созвон с персональным ментором для закрепления практики.
После половины обучения вы уже сможете претендовать на позицию джуна или стажера iOS-разработчика, а центр карьеры OTUS поможет получить первую работу и за пару месяцев окупить обучение.
👉 Оставьте заявку, пока действует скидка https://otus.pw/ieeIT/
За 12 месяцев вы пройдете путь от основ программирования до создания двух готовых приложений, которые сможете загрузить в AppStore.
Формат: интерактивные лекции с экспертами + еженедельный созвон с персональным ментором для закрепления практики.
После половины обучения вы уже сможете претендовать на позицию джуна или стажера iOS-разработчика, а центр карьеры OTUS поможет получить первую работу и за пару месяцев окупить обучение.
👉 Оставьте заявку, пока действует скидка https://otus.pw/ieeIT/
Дизассемблированный псевдокод для интеловских бинарников было проще понять, чем для Apple Silicon - PSPDFKit рассказывают, как фиксили баг внутри
https://pspdfkit.com/blog/2021/reverse-engineering-uikit/
UIKit
. Детективная история на уровне Шерлока. Спойлер: злодей - числа с плавающей точкой.https://pspdfkit.com/blog/2021/reverse-engineering-uikit/
PSPDFKit
Reverse Engineering UIKit to Fix Our Top Crash | PSPDFKit
This blog post describes the process of reverse engineering UIKit to identify and fix our top crash in PSPDFKit for iOS.
В Cian переизобрели поиск элементов в UI тестах. Похоже на адаптированный под iOS механизм CSS Selector из веба.
https://habr.com/ru/company/cian/blog/570988/
https://habr.com/ru/company/cian/blog/570988/
Хабр
UI-тесты в iOS: укрощение строптивого
Всем привет!Если вы разработчик или автоматизатор, пишете нативные UI-тесты в iOS или думаете начать их писать, эта статья для вас. Это уже вторая наша статья из цикла, посвященного...
Саша, ты Nivelir! И ты отпишешься, так и не узнав, что это - фреймворк, предоставляющий расширяемый DSL для роутинга.
https://habr.com/ru/company/hh/blog/572488/
https://habr.com/ru/company/hh/blog/572488/
Хабр
Nivelir: Удобный DSL для навигации
Год назад мы пересмотрели свою реализацию роутинга в iOS-приложениях hh.ru. Тогда она больше походила на простой слой сборки экранов, чем на роутинг как таковой. Смирившись с этим печальным фактом, мы...
Много компаний, которые предлагают сотрудникам индивидуальный онбординг, в том числе и технический, rewiew кода, прозрачные процессы по росту и развитию?
Нет. Но в Технократии это точно есть. В нашей команде работают только крутые специалисты, используют современный стек и ведут проекты от идеи до реализации.
Сейчас в компанию очень ждут талантливого IOS-разработчика с релевантным бэкграундом от 2х лет (готовы рассмотреть меньший опыт при высоком уровне амбиций и знаний).
Что нужно?
👉 Понимание принципов AutoLayout.
👉 Опыт коммерческой разработки
👉 Умение писать Clean Code
👉Навыки работы c Git
Мы предлагаем все условия от удаленки до релокации, официальное трудоустройство и достойную оплату, а также наставничество крутых специалистов, современный стек и возможность менять проект несколько раз в год.
Подробнее о вакансиях:
http://career.technokratos.com/?utm_source=telegram&utm_medium=ios&utm_campaign=tech1
Резюме можно отправить:
https://t.me/AleylaR
Соцсети компании:
https://www.instagram.com/technokratos/
Нет. Но в Технократии это точно есть. В нашей команде работают только крутые специалисты, используют современный стек и ведут проекты от идеи до реализации.
Сейчас в компанию очень ждут талантливого IOS-разработчика с релевантным бэкграундом от 2х лет (готовы рассмотреть меньший опыт при высоком уровне амбиций и знаний).
Что нужно?
👉 Понимание принципов AutoLayout.
👉 Опыт коммерческой разработки
👉 Умение писать Clean Code
👉Навыки работы c Git
Мы предлагаем все условия от удаленки до релокации, официальное трудоустройство и достойную оплату, а также наставничество крутых специалистов, современный стек и возможность менять проект несколько раз в год.
Подробнее о вакансиях:
http://career.technokratos.com/?utm_source=telegram&utm_medium=ios&utm_campaign=tech1
Резюме можно отправить:
https://t.me/AleylaR
Соцсети компании:
https://www.instagram.com/technokratos/
Technokratos
Технократия — цифровая функция крупного бизнеса
Создаем цифровые продукты на основе аналитики бизнес процессов. Занимаемся цифровой трансформацией бизнеса и разрабатываем мобильные приложение и веб-сервисы разной сложности.
Самый очевидный вариант запуска
https://www.donnywals.com/using-swift-concurrencys-task-group-for-tasks-with-varying-output/
Task Group
с разными возвращаемыми типами - это создать енум с разными ассоциированными значениями.https://www.donnywals.com/using-swift-concurrencys-task-group-for-tasks-with-varying-output/
Donny Wals
Using Swift Concurrency’s task group for tasks with varying output
TaskGroups require all their tasks to have the same output. In this post we use an enum with associated types to have tasks with varying outputs.
Отличная табличка с разбивкой по версиям Xcode поддерживаемых версий SDK, ОС, языка и архитектур процессора.
https://developer.apple.com/support/xcode/
https://developer.apple.com/support/xcode/
Apple
Xcode - Support - Apple Developer
Xcode is a complete developer toolset for creating apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. Xcode brings user interface design, coding, testing, debugging, and submitting to the App Store into a unified workflow.
Неизменяемость объектов в Swift не решает проблем, которые должна решать, и даже добавляет новых. Жаль, что нет упоминания проблем, которые на самом деле решаются, и все согласно хейтят структуры в комментах.
https://betterprogramming.pub/the-case-against-immutable-objects-88343bbd7912
https://betterprogramming.pub/the-case-against-immutable-objects-88343bbd7912
Medium
The Case Against Immutable Objects in Swift
This is one design pattern you definitely don’t want to use. Here’s why.
В Github Actions процесс подписи вис и решить его можно с помощью временного кичейна. Может и в других системах пригодится.
https://byteable.dev/creating-a-temporary-keychain-for-your-build-system-e598628c65fd
https://byteable.dev/creating-a-temporary-keychain-for-your-build-system-e598628c65fd
Medium
Creating a temporary keychain for your build system
This is very useful together with codesign, productsign etc
Как добавить дополнительное
https://www.fivestars.blog/articles/swiftui-windows/
UIWindow
в SwiftUI и не сломать взаимодействие с лежащими под ним элементами. Конечно же средствами UIKit
.https://www.fivestars.blog/articles/swiftui-windows/
FIVE STARS
How to layer multiple windows in SwiftUI | FIVE STARS
A complete guide on managing multiple windows in SwiftUI
Все современные способы наблюдения за изменением значений в Swift. Помимо KVO и property observers есть еще имплементация через Combine и сторонние библиотеки, которые на него похожи.
https://www.jessesquires.com/blog/2021/08/08/different-ways-to-observe-properties-in-swift/
https://www.jessesquires.com/blog/2021/08/08/different-ways-to-observe-properties-in-swift/
Jesse Squires
Different ways to observe properties in Swift
After I wrote and released Foil, my library for implementing a property wrapper for UserDefaults, one of the criticisms on Twitter was that a mechanism for o...
Все варианты фильтрации и обработки ошибок внутри конструкции
https://sarunw.com/posts/different-ways-to-catch-throwing-errors-in-swift/
do catch
. От обычных типов, до конструкций с where
и множественными паттернами.https://sarunw.com/posts/different-ways-to-catch-throwing-errors-in-swift/
Sarunw
Different ways to catch throwing errors from Swift do-catch | Sarunw
It is tempting to just catch all a throwing error in a single catch clause and call it a day, but not all errors are created equals, and you should treat it as such.
Создание кодогенерирующих скриптов при помощи SourceKit на примере автоматической регистрации существующих зависимостей в DI контейнере.
https://swiftrocks.com/code-generation-with-sourcekit
https://swiftrocks.com/code-generation-with-sourcekit
Swiftrocks
Adding Intelligent Code Generation to Swift Projects with SourceKit
I've been playing with intelligent code generation for a couple of years now, and I'd like to show you how to achieve this with SourceKit.
Vivid Money is looking for iOS-developer!
Vivid Money — это международный финтех-стартап с корнями из Тинькофф. В Vivid создают и развивают банковские, инвестиционные и даже крипто- продукты.
Проект написан на Swift с использованием VIP архитектуры, свой декларативный layout, повсеместная кодогенерация. Нет никакого легаси, зато есть куча плюшек, интересные задачи и ежедневная практика английского языка)
Если интересно, пиши @kharrasova
Vivid Money — это международный финтех-стартап с корнями из Тинькофф. В Vivid создают и развивают банковские, инвестиционные и даже крипто- продукты.
Проект написан на Swift с использованием VIP архитектуры, свой декларативный layout, повсеместная кодогенерация. Нет никакого легаси, зато есть куча плюшек, интересные задачи и ежедневная практика английского языка)
Если интересно, пиши @kharrasova
Уже успели обрадоваться, что Apple разрешит проводить платежи в обход их системы? Ха. Хаха. Ха.
https://twitter.com/nikogenn/status/1431175304261873667?s=21
https://twitter.com/nikogenn/status/1431175304261873667?s=21
Twitter
Nikita Maidanov
Вы наверняка видели сегодняшнюю новость про "Apple заявила в суде, что готова разрешить разработчикам рассказывать о способах оплаты в обход App Store". О том, почему это не так, почему ничего не изменилось и почему это важная победа для Apple – тред
Уже видели шумиху про поддержку конкурентности на старых операционках? @antonsergeev88 уточнил у автора, на iOS 10-12 работать не будет.
https://github.com/apple/swift/pull/39051
https://github.com/apple/swift/pull/39051
GitHub
Add an option to build the concurrency library for back deployment. by DougGregor · Pull Request #39051 · apple/swift
Introduce an additional build product to build-script to build
back-deployable concurrency libraries. These libraries would need to
be embedded in apps deployed prior to macOS 12/iOS 15 to support
...
back-deployable concurrency libraries. These libraries would need to
be embedded in apps deployed prior to macOS 12/iOS 15 to support
...
Pointfree заопенсорсили кастомный вариант функции
https://www.pointfree. co/blog/posts/62-open-sourcing-custom-dump
dump()
и плюсом diff()
для более удобного логирования объектов.https://www.pointfree. co/blog/posts/62-open-sourcing-custom-dump
www.pointfree.co
Open Sourcing: Custom Dump
Today we are open sourcing Custom Dump, a collection of tools for debugging, diffing, and testing your application’s data structures.
Короткий гайд по прокидыванию геолокации в
http://hboon.com/notes-on-listening-to-location-changes-in-wkwebview/
WKWebView
.http://hboon.com/notes-on-listening-to-location-changes-in-wkwebview/
Hi, I’m Hwee-Boon Yar
Redirecting to page
I write, ship and sell software products. Indie. Writing code in Swift, TypeScript and Ruby. Based in Singapore, working remotely. This is my blog.
Реализация условного модификатора в SwiftUI приносит больше проблем, чем может показаться изначально. Начиная с визуальных дефектов, заканчивая потерей данных из-за ресета
https://www.objc.io/blog/2021/08/24/conditional-view-modifiers/
@State
переменных.https://www.objc.io/blog/2021/08/24/conditional-view-modifiers/
www.objc.io
Why Conditional View Modifiers are a Bad Idea
A SwiftUI anti-pattern
Подумываете расти из разработчика в продакты? Держите детальный план!
https://twitter.com/igrekde/status/1432721716480970758?s=21
https://twitter.com/igrekde/status/1432721716480970758?s=21
Twitter
Egor Tolstoy
Тред про то, как из разработчика перейти в продакт-менеджеры без покупки дорогих курсов. 🧵Лайк, ретвит, погнали.