iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.5K subscribers
698 photos
65 videos
4.08K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Обзор всех изменений в прайсинге App Store

- Появилось 700 новых значений цен, которые можно использовать для ваших приложений. Минимальное значение – 0,29$, максимальное – 10000$.
- Между 0,29$ и 9,99$ шаг изменения цены – 0,1$.
- Между 0,49 и 49,99$ шаг изменения цены 0,5$.
- Цены можно округлять до .0$, .90$ и .95$.
- Цены в локальных магазинах теперь можно назначать вручную, а не привязывать к базовой долларовой цене.

Перевод на русский язык
👍16
Совместное редактирование в Apple Notes реализовано на Server-side Swift

Если вас кто-то будет спрашивать о примерах использования Swift на сервере в продакшне, теперь вам есть, что ответить. Apple на недавней конференции про серверный Swift рассказали, что использовали его, чтобы реализовать коллаборативную работу над заметками. Деталей нет, да и картину адопшна это не сильно меняет, но интересно!
👍30🤡7😁6❤‍🔥2🔥2
ВКонтакте объявила победителей грантового конкурса VK Fresh Code.

Создатели 25 самых успешных мини-приложений на базе платформы VK Mini Apps получили поддержку на развитие своих проектов. В дальнейшем их количество может увеличиться: ВКонтакте продолжит поддерживать талантливые команды, чтобы они продолжали творить на благо пользователей.
🤡69👍9👎4
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомный контейнер на Layout протоколе

Автор разбирает, как с помощью Layout протокола из SwiftUI собрать контейнер, который будет лэйаутить произвольное количество тегов фиксированной высоты и разной длины.

Перевод на русский язык
👍52❤‍🔥2👎1
Советы от ментейнера 185 библиотек

- Когда ты поддерживаешь сразу десятки библиотек, быстро теряешь контекст происходящего в каждой из них.
- Справиться с этим помогает техника «The perfect commit» – делать только такие коммиты, которые решают строго одну задачу, которые содержат подробную документацию и тесты для каждого изменения, и ссылаются на issue с обсуждением.
- Поддерживать уверенность в актуальности документации помогают специальные тесты, которые проверяют, что в ней упоминаются все ключевые концепции.
- В статье много дополнительных советов про все аспекты техники идеальных коммитов.
👍16🔥5😱3❤‍🔥1🤡1
SwiftUI Custom Layout: Spacing

Продолжение цикла статей про работу с протоколом Layout. В этой разбирается, как настраивать расстояние между дочерними вьюшками, учитывать его при расчете лэйаута, и использовать разные значения для разных платформ.
👍10
Stable Diffusion на CoreML

- Apple добавили поддержку модели Stable Diffusion в CoreML. Stable Diffusion – самая хайповая нейронка для генерации иллюстраций. Помните иконки, которые я выкладывал на прошлой неделе? Вот это – Stable Diffusion.
- Stable Diffusion умеет не только генерировать изображения по описанию, но и генерировать палитру, апскейлить изображения, редактировать их и много чего еще.
- Модель оптимизирована для работы на конечном пользовательском девайсе.
🔥57👍4👎1
Foundation переписывают на Swift и выкладывают в open source

Вот что поменяется:
- Полностью избавятся от C, на котором сейчас написано все ядро Foundation. Благодаря избавления от интеропа улучшится перфоманс.
- Огромный Foundation будет разбит на более атомарные куски. Например, FoundationInternationalization, который будет содержать функции, нужные для локализации.
- Для всех эппловых платформ будет использоваться единая реализация Foundation.
- Процесс разработки будет открытым, а коммьюнити получит возможность контрибьютить свои изменения.

Перевод на русский язык
🔥105😱131👍1🌭1
Команда Тинькофф ищет iOS-разработчиков💡

Большое комьюнити iOS-разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду iOS-разработчиков с опытом от трех лет!

Работать с Тинькофф значит:

— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити iOS-разработчиков.

А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.

Откликнуться и узнать подробнее о команде iOS-разработчиков Тинькофф: https://u.tinkoff.ru/mobile.pro
🤡100👎2015👍7🤬2
This media is not supported in your browser
VIEW IN TELEGRAM
Самое простое интро в шейдеры

Если вы никогда не писали свои шейдеры, и просто киваете с умным видом, когда кто-то начинает говорить про оптимизированный под GPU код, обязательно прочитайте статью.

💻Отличие CPU от GPU в вопросах вычислений
🤔Ограничения в разработке шейдеров
🎨Примеры шейдеров
🔥43👍6❤‍🔥31
AppCode 2022.3 – последняя поддерживаемая версия

- Вышла новая версия AppCode с поддержкой Xcode 14.2.
- Эта версия станет последней. Новые фичи больше не разрабатываются, купить AppCode больше нельзя.
- Поддержка текущей версии будет предоставляться до конца 2023 – в основном связанная с проблемами совместимости с текущей версией Xcode.
- Основная причина – «While we’ve had some growth in terms of adoption, we didn’t reach the market share we had hoped for»
😢69👍28🎉19👏1😱1
Пример интеропа C++ и Swift

- В Swift есть экспериментальная поддержка интеропа с плюсами, которая не требует написания врапперов на ObjC.
- В статье разбирается, как в одном Swift пакете держать код на С++ и Swift, и напрямую использовать std::vector..

Перевод на русский язык
👍28🔥6🤡3👎1
Простой способ улучшить читаемость логов в Xcode

В настройках Xcode можно изменить цвет логов брейкпойнтов, чтобы они визуально выделялись среди принтов:
Xcode > Settings > Themes > Console
👍42
SwiftUI Custom Layout: LayoutValueKey

- С помощью протокола LayoutValueKey можно привязать значение к вью внутри кастомного лэйаута, и использовать его позже в расчетах.
- Для этого надо создать структуру, реализующую протокол LayoutValueKey, и extension для вью, в котором этот параметр настраивается.
- В статье разбирается, как с помощью этой фичи можно реализовать якорную привязку внутри своего лэйаута.

Перевод на русский язык
👍11
Кастомные префиксы для чисел в NumberFormatter

У NumberFormatter есть одна неочевидная фича – вы можете задать свой собственный префикс для всех положительных или отрицательных чисел, используя свойства positivePrefix/negativePrefix.
🔥57👍11😁1
Огромный гайд по реализации in-app purchases на StoreKit

🛒Настройка покупок в App Store Connect
💻Отображение товаров в приложении, их покупка и верификация
🗓️Обработка событий обновления подписки, ее отмены и проблем с платежами
☁️Реализация подписок со своим сервером и без него

Код примеров клиента и сервера на GitHub
👍37🔥11
Отключение рекламных алертов от Xcode Cloud

Надоели алерты в Xcode? Установите флаг:
defaults write com.apple.dt.Xcode XcodeCloudUpsellPromptEnabled -bool false
😁41👍7
Разработка сложных кастомных плагинов для Xcode Instruments

- Xcode с 2018 года позволяет разрабатывать собственные плагины для Instruments. Вот видео с WWDC, и хорошая вводная статья.
- Одна из основных проблем в разработке этих расширений – писать их надо на чистом XML. Для очень простых задач это еще терпимо, а для тех, где требуется несколько тысяч строк – вообще невозможно.
- В статье разбирается несколько приемов, как можно облегчить себе жизнь. Начиная с транспиляции своего Swift DSL в XML, заканчивая малоизвестными фичами XML вроде includes и conditionals.

Перевод на русский язык
👍12😱7🤡21👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Разговор с ChatGPT про статические и динамические фреймворки

Статью можно читать с двумя целями – вспомнить различия статических и динамических фреймворков и их влияние на перфоманс приложения, или посмотреть на очередной юзкейс того, как ChatGPT разбирает сложные инженерные вопросы и дает почти точные ответы.

Перевод на русский язык
🎉8👍4