TGViewer
Channel ✦ Verified Channel
Код Воробья для iOS разработчиков

Код Воробья для iOS разработчиков

@sparrowcode

Пишу для iOS разработчиков про Xcode, разработку на Swift и SwiftUI.
Реклама: sparrowcode.io/ru/ads
Автор: @ivanvorobei
Subscribers
11.4K
Photos
394
Videos
96
Links
317

Showing posts older than #159 · Back to latest

Older Posts 18 shown
Post #156 5.61K
Новое в Swift 5.6:

- Ключевое слово any для отображения экзистанциальных типов
- Плейсхолдеры _ позволяют указывать некоторые части типа значения
- Протокол CodingKeyRepresentable кодирует словари с ключами, не являющимися обычными String или Int
- Условие if #unavailable - cразу код для версий, меньше заданной в условии
- Улучшили функции для параллелизма
  • 👍 22
  • 🔥 9
  • ❤ 2
  • 🎉 2
Post #155 5.44K
GitHub не будет блокировать российских разработчиков. Решение мотивировано тем, что сервис хочет находится вне политки и конфликтов - «оставаться домом для разработчиков, где бы они не находились».

Сейчас GitHub запрещен в Крыму, Кубе, Иране, Северной Кореи и Сирии.
  • ❤ 90
  • 👍 18
  • 😱 7
  • 🔥 3
Post #154 6.35K
Apple разрешила переность приложения для аккаунтов с App Store Small Buisness. В соглашении обновили пункт 3.4 - при переносе выручка приложения считается в лимиты и отправителя, и получателя приложения.
  • 🔥 7
  • 👍 5
  • ❤ 3
Post #153 6.64K
GitHub добавил диаграммы в Readme. Под капотом работает библиотека Mermaid. Можно делать тайминги, круговые диаграммы, шаги и схемы.

В январе GitHub добавил поддержку SVG для Readme.
  • 🔥 17
  • ❤ 9
  • 👍 9
Post #152 5.6K
Библиотека Hero делает бесшовные переходы между контроллерами.

На видео показал переход между экранами, который выглядит как перемещение контроллера в миниатюру. Нужно поставить контейнеру view.hero.isEnabled = true и указать идентификаторы:

sourceView.hero.id = "ironMan"
destinationView.hero.id = "batMan”


#Библиотеки
  • 🔥 50
  • 👍 11
  • 🎉 1
Post #151 5.32K
Эпл добавила в документацию приложение UIKit Catalog с нативными элементами и примеры кастомизации.

Сделали на сторибордах. Каталог разбит на 3 секции: контролы, вьхи и пикеры. Есть примеры рендеров SFSymbols. Полезно начинающим видеть возможности кастомизации, например, что можно добавить текст-филд в алерт.
  • 👍 48
  • ❤ 10
  • 🔥 7
Post #150 4.33K
ProgressView в SwiftUI. Как кастомизировать внешний вид для спинера и прогресс-бара. Сделаем прогресс-бар, который продолжается от центра в стороны.

https://sparrowcode.io/ru/tutorials/mastering-progressview-swiftui
  • 👍 30
  • 🔥 5
  • ❤ 3
Post #149 4.55K
Библиотека ViewAnimator анимирует группы элементов: таблицы, коллекции и просто массивы вьюх. Ставится через Cocoapods и SPM.

Создаем анимацию и передаем с вьюхой:

let animation = AnimationType.from(direction: .top, offset: 30.0)
view.animate(animations: [animation])


Анимации можно комбинировать. Для таблицы / коллекции предварительно получить видимые ячейки:

let cells = tableView.visibleCells(in: 1)
UIView.animate(views: cells, animations: [rotateAnimation, fadeAnimation])


#Библиотеки
  • 👍 34
  • 🔥 12
  • ❤ 3
Post #147 4.47K
Библиотека SPSettingsIcons генериурет иконки, как в настройках.

Указываете иконку и цвет фона. Для ячейки таблицы установить картинку в cell.imageView?.image - размеры будут как у эпл.

Поддержите библиотеку - поставьте звезду на GitHub. Проект сделан под лейблом Код Воробья.
  • 🔥 32
  • 👍 11
  • ❤ 6
  • 🎉 3
Post #144 7.96K
Как устроено приложение Wallet

Сделали на сценах, а лейаут на фреймах. Рут контроллер называется PKPassGroupsViewController. Главная вью UIStackView, в неё поместили: заголовок Wallet, группу карточек, группу бонусных карт и футер.

Каждую карточку поместили в контейнер PKPassGroupView. Внутри находится скрол-вью, которая отрабатывает жесты и является саб-контейнером карточки. Получается каждая карточка лежит на скрол-вью и управляется жестами на скролле 🤯. Понятия не имею как это работает.

Чтобы управлять пространством сверху для тапа - эпл сделала переиспользуемый класс. Каждую карточку поместили в ещё один саб-контейнер с названием WLEasyToHitCustomView (переводится легко нажать). Возможно, связали контейнеры в родителе или через делегаты.

#ViewHierarchy
  • 🔥 35
  • 👍 9
  • 😱 8
Post #143 5.08K
С iOS 13 завезли удобную асинхронность с async/await. Никита написал туториал, где разобрал Task, actor и их взаимодействие.

С новыми инструментами код удобнее читать и поддерживать. В конце туториала напишите тузлу для получения позиции приложения в App Store.

https://sparrowcode.io/ru/tutorials/async-await
  • 👍 25
  • 🔥 11
  • ❤ 5
Post #139 5.36K
Ваш покорный слуга дал комментарий по блокировке аккаунтов в Беларуси для РБК @rbc_news.

Ситуация с аккуантами разрешилась - приложения вернули в стор, позиции и рейтинги восстановили. Эпл принесла извинения.
  • 🔥 36
  • 👍 13
  • 😱 1
  • 🎉 1
Post #137 5.25K
Код Воробья для iOS разработчиков Сегодня утром разработчики из Беларуси получили сообщение о деактивации аккаунтов. Приложения пока остаются в App Store, но создать новое приложение и версию нельзя. Статус некоторых приложений изменился на Pending Agreement. В панели статус соглашения изменился…
Аккаунты оживают - соглашениям вернули активный статус. У некоторых сбросился адрес, нужно ввести заново.

Эпл разослала сообщения, что это была ошибка.
  • 🎉 34
  • ❤ 6
  • 👍 6
Post #136 6.16K
Сегодня утром разработчики из Беларуси получили сообщение о деактивации аккаунтов.

Приложения пока остаются в App Store, но создать новое приложение и версию нельзя. Статус некоторых приложений изменился на Pending Agreement.

В панели статус соглашения изменился на Restricted. Похожая ситуация уже была в РФ и Крыму.

За обновлениями ситуации можно следить здесь.
  • 😱 35
  • 🔥 2
Post #135 5.24K
Платежи вне App Store для дейтинг приложений в Нидерландах будут с комиссией 27%. Появились подробности.

Сделали через разрешение StoreKit External Purchase Link Entitlement. Нельзя комбинировать со встроенными покупками. Интерфейс платежа должен быть нативным, веб-вью нельзя. Заголовок со скриншота добавлять обязательно 🤦‍♂️

Разработчик подает отчёт ежемесячно, Apple выставляет счёт на комиссию.

27% и комиссия платежной системы сумарно дают комиссию в 30%. Apple поступила логично - от своего заработка за размещение в их магазине отняли комиссю банка. Но манипулятивный заголовок про безопасность выглядит дёшево.
  • 😱 11
  • 👍 8
  • 🔥 5
Post #134 4.94K
Как добавить кастомную SwiftUI-вью в библиотеку Xcode. Туториал написал Никита. Я рад, что авторов становится больше.

Чтобы оптимизировать работу над туториалами, я опубликовал их на GitHub. Теперь каждый может добавить свой туториал, сделать перевод или исправить опечатку. Открывайте PR, после апрува изменения на сайте появятся автоматически.
  • 🔥 19
  • 👍 7
  • ❤ 3
  • 🎉 2
Post #130 9.34K
Как устроен системный калькулятор

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

Клавиатуру сделали обычный вью и назвали CalculatorKeypadView. Кнопки сделаны как UIButton. Все кнопки - объекты одного класса, даже измененный 0. Контейнер лейаутится через AutoLayout, а вот сетку с кнопками расставили с помощью фреймов.

#ViewHierarchy
  • 🔥 53
  • 👍 20
  • 😱 4
  • ❤ 3
  • 🎉 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →