TGViewer
Channel Public Channel
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

@iosgr

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

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

Размещение рекламы: @tanyasanovna
Subscribers
12K
Photos
768
Videos
71
Links
4.3K

Showing posts older than #4172 · Back to latest

Older Posts 20 shown
Post #4171 6.34K
Почему приложения на Android весят меньше

Очень часто можно увидеть, что одно и то же приложение в App Store весит 100мб, а в Play Store – 10мб. В статье разбираются причины этого и то, что каждая из платформ понимает под "размером".
Emergetools Emerge Tools Blog | Are Android apps THAT much smaller than iOS? An in-depth analysis of Android vs. iOS app sizes and why Android apps might be larger than they appear
  • 👍 19
  • 🔥 2
  • ❤ 1
Post #4170 8.53K
Почему UserDefaults может не возвращать данные

👉У вас включен флаг Sensitive Data Encryption, который не дает получать доступ к данным в залоченном телефоне, но вы пытаетесь обратиться к UserDefaults из виджета.
👉Автоматический преворминг приложения может включаться даже тогда, когда телефон заблокирован. Получается та же проблема, что и выше.
👉Если вы перезагрузили телефон с запущенной LiveActivity, при ее следующей загрузке данные не будут доступны.
Christianselig Beware UserDefaults: a tale of hard to find bugs, and lost data Excuse the alarmist title, but I think it’s justified, as it’s an issue that’s caused me a ton of pain in both support emails and actually tracking it down, so I want to make others aware of it so they don’t similarly burned. Brief intro For the uninitiated…
  • 👍 18
  • ❤ 4
Post #4168 7.98K
Обновление сертификата APNs

У Apple'ового сервиса пушей обновляется сертификат. Вам нужно не забыть добавить новый серт на свой сервер:

📆До 20 января 2025 для сендбокс окружения
📆До 24 февраля 2025 для продакшна
Apple Apple Push Notification service server certificate update - Latest News - Apple Developer The Certification Authority (CA) for Apple Push Notification service (APNs) is changing. APNs will update the server certificates in sandbox on January 20, 2025, and in production on February 24, 2025. All developers using APNs will need to update their application’s…
  • 👍 5
Post #4166 6.4K
Как создать zip архив

Оказывается, в Foundation есть системный API, который позволяет создавать zip архив по переданному ему URL папки. Код можно посмотреть здесь.
Medium How to easily create ZIP files in Swift without third-party dependencies If you’ve ever worked on an iOS app with complex networking, sooner or later you’ll probably need to create ZIP archives from your files…
  • 💅 34
  • 👍 10
Post #4163 7.77K
Genesis – новый генератор статических сайтов на Swift

Генератор статических сайтов – один из самых простых способов собрать себе тот самый блог, о котором вы давно мечтали. А если этот генератор написан на Swift, вы еще можете и поиграться с необычным применением любимого языка.

Genesis – еще один такой генератор. От альтернатив его отличает максимально простая реализация, отсутствие каких-то внешних зависимостей и работа со строками вместо сложных DSL.
Alejandro M. P. Back to the basics with Genesis | Alejandro M. P. Recently, I finished an almost final draft of my novel and decided it was time to refresh my online presence and website. Instead of starting my next novel, I dove into creating the next version of my site, what I call alejandromp4. And, of course, you know…
  • 👍 15
  • 🔥 3
  • 💅 2
Post #4162 7.24K
Новые статьи в документации

Держите пачку октябрьских обновлений документации Apple:

👉Win-back offers: специальный тип подписок, направленный на возвращение ушедших от вас пользователей
👉Camera Control: HIG и документация
👉Гайд по поддержке разных размеров часов
👉Новые семплы для visionOS
  • 👍 5
Post #4161 7.7K
Эпизод Swift Talk про Concurrency

Ребята из Objc.io выпустили бесплатный эпизод своего видеоблога про Swift Concurrency. где на примере небольшого macOS приложения разбираются с основными фичами и ошибками компиляции.
talk.objc.io Swift 6 Concurrency (Part 1) We start a new macOS project to explore Swift 6's concurrency features.
  • 🔥 20
  • 👍 3
Post #4160 6.75K
Как сохранять микросекунды при конверсии Date <-> String

Нрбольшое напоминание – при конвертации строки в дату и обратно с использованием DateFormatter информация о микросекундах теряется. Если для вас они важны, то в статье разбирается, как сохранить их значение.
Augmented Code How to keep Date’s microseconds precision in Swift DateFormatter is used for converting string representation of date and time to a Date type and visa-versa. Something to be aware of is that the conversion loses microseconds precision. This is extr…
  • 💅 16
  • ❤ 12
Post #4159 7.32K
Обзор недавней Server-Side Swift конференции

Недавно прошла первая большая конференция, посвященная Swift на сервере. Это на ней анонсировали интероп с Java и штуки вроде плагина для контейнеризации, про которые я уже рассказывал в канале.

Держите статью с кратким содержанием всех докладов, чтобы вы могли сами решить, на что еще обратить внимание. Я все еще удивляюсь, что Things, мой любимый туду лист, довольно давно переехал на Swift, и вроде бы довольны.
  • 💅 18
  • 🔥 13
  • ❤ 4
Post #4158 8.73K
Ускорение сетевых запросов на старте приложения

Ребята из Додо делятся своим опытом профилирования сетевых запросов и кучи оптимизаций, которые помогли ускорить старт приложения в два раза. Примеры оптимизаций:

👉По одной URLSession на хост для переиспользования коннекшнов
👉Прогрев коннекшна первой строчкой в приложении
👉Оптимизация порядка запросов с оглядкой на UX
  • 👍 57
  • 💅 10
  • ❤ 4
  • 👎 3
Post #4156 7K
SafariExtension на SwiftUI

Если бы меня сходу спросили, на чем разрабатываются расширения для Safari, я был бы уверен, что это JavaScript. Оказывается, их можно писать нативно на SwiftUI!
www.polpiella.dev How to build a Safari extension with SwiftUI Learn how to create a Safari Extension as a popover using only Swift and how to render its UI using SwiftUI.
  • 👍 21
  • 🔥 4
  • 💅 4
Post #4155 6.73K
Swift Container Plugin

Плагин для SwiftPM, с помощью которого можно собирать контейнеры с вашими серверными приложениями и публиковать их в нужные облака. Доклад с деталями можно посмотреть тут.
  • 🔥 19
  • ❤ 1
Post #4154 6.77K
Низкоуровневый процессинг аудио с AVFoundation

Пример того, как написать простую библиотеку с удобным API для создания аудиоэффектов поверх AVFoundation. Источник вдохновения – Objective-C библиотека Novocaine.
Orestis Papadopoulos AVAudioEffectNode: painless low level audio effects written in Swift In a previous post, I covered two AVFoundation nodes that can generate sound or tap into the output of an existing node. If you experiment with them, you'll quickly realize:
  • 👍 21
Post #4153 8.69K
Realm – все

30 сентября 2025 Mongo прекратит поддержку Atlas Device SDK, в который всего год назад переименовали Realm. Ребрендинг, кажется, не помог.

Грустно, эмоционально проект мне нравился. Мы много лет назад даже выпуск Подлодки про Realm записали, так что, если захотите олдскула, послушайте!

upd из комментариев:
The on-device database will continue to exist as an open source project.
MongoDB MongoDB Feature Updates: End-of-Life And Deprecation MongoDB has deprecated MongoDB Atlas Data API and Custom HTTPS Endpoints, along with Atlas Device Sync, Atlas Device SDKs, Atlas Data Lake, and Atlas Edge Server.
  • 👍 21
  • 💅 10
  • 👎 2
  • ❤ 1
Post #4151 7.52K
Как запретить удалять ваше приложение

Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
tiny coder Preventing app removal on iOS - tiny coder These days, I am developing an alarm app called ‘SuperAlarm’. To ensure a user is awake, SuperAlarm can be turned off only after a user completes a mission(e.g., taking a picture...
  • 🔥 18
  • 💅 10
  • 👍 2
  • ❤ 1
  • 👎 1
Post #4150 6.85K
Traits в Swift Testing

Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
SwiftLee Using Traits to annotate and customize test behavior Customize and annotate tests with traits in the Swift Testing framework. Learn how to configure behaviors and skip certain tests.
  • 👍 11
Post #4148 6.67K
Телеметрия в мобильных приложениях

Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.
  • ❤ 14
  • 👍 6
  • 🔥 1
Post #4146 6.62K
Backend-Driven UI в ЦИАН

Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
  • 👎 39
  • 👍 10
  • ❤ 7
  • 🔥 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 →