iOS Broadcast


Channel's geo and language: Russia, Russian
Category: Technologies


Подборка новостей и статей для iOS разработчиков.
Обсуждение @android_broadcast_talks
Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot

Related channels

Channel's geo and language
Russia, Russian
Statistics
Posts filter


🐥 Как запустить асинхронный код в playground корректно?

Swift Playground - идеальный инструмент для экспериментов со Swift. Почти всегда достаточно синхронного выполнения кода, но иногда хочется проверить что-то с асинхронным выполнением, например, для извлечения данных с сервера. Swift Playground по умолчанию выполняет код синхронно а при выполнении асинхронного кода мы видим вечное исполнение кода "Waiting for tasks to complete...". Чтобы это исправить - достаточно добавить import PlaygroundSupport и в коде вызвать:
🟡needsIndefiniteExecution
🟡finishExecution()

Все! Теперь мы можем тестировать асинхронный swift код и программа завершится корректно после выполнения всех асинхронных задач. Логика похожа на работу с DispatchGroup


1️⃣2️⃣3️⃣4️⃣5️⃣SE-0424 Custom isolation checking for SerialExecutor

Принят пропоузал добавляющий возможность настроить логику проверки изоляции для серийного исполнения кода. Это еще один шаг к Swift 6 и безопасному параллелизму. Пропоузал описывает решение проблемы с проверкой изоляции при исполнении асинхронных методов внутри серийных очередей. Сейчас при исполнении асинхронной работы в серийной очереди проверка assumeIsolated фейлится, несмотря на отсутствие возможных проблем с многопоточностью.
В рамках пропоузала описывается что будет добавлен новый механизм сравнения исполнителей, который будет использоваться всеми API-интерфейсами для проверки изоляции в библиотеке параллелизма.
Реализовано через новую функцию в SerialExecutor:

protocol SerialExecutor: Executor {
func checkIsolation()
}

extension SerialExecutor {
public func checkIsolation() {
fatalError("Incorrect actor executor assumption, expected: \(self)")
}
}


🧑‍💻 Объявлены даты #WWDC24

В этом году WWDC пройдёт с 10 по 14 июня, начало в 20:00 GMT+3. А пока можно подписаться на новый канал

📹 @AppleDeveloper' rel='nofollow'>AppleDeveloper - Apple, наконец, признали что youtube удобнее для потребления видео

🗓 Добавить в календарь WWDC чтобы не забыть


🐥 Встречаем новый пакет Benchmark
Свежий swift пакет benchmark для автотестов производительности реализован в виде плагина командной строки и добавляет одноименную команду для взаимодействия с бенчмарками

👉 Подробная документация Swift Package Index DocC.
👉 Поддерживает измерение широкого диапазона выборок при помощи HDR Histogram
👉 Отдельный репозиторий с примерами использования


📁BuildSettingExtractor

Если вы решите перенести настройки сборки Xcode из файла вашего проекта в файлы xcconfig, эта утилита может упростить этот первоначальный шаг. Это также простой способ для любопытных взглянуть на настройки сборки в проекте, не опасаясь их случайного изменения.
Для каждого целевого объекта и самого проекта Build Setting Extractor сгенерирует один файл xcconfig для каждой конфигурации сборки плюс общий файл xcconfig со всеми общими настройками сборки для этого целевого объекта.

Чем эта утилита отличается от других? Она поддерживается с 2015 года разработчиком из Apple 😊




🍿 США подали в суд на Apple за незаконную монополию на смартфоны
DMA (закон о цифровых рынках) шагает по планете и как бы не пыталась Apple сделать антирекламу раскрытия своих платформ, докатилось и до US. Правительство указывает на способы, которыми Apple сохраняет свою монополию:

👉 Ограничение чужих “супер приложений”, которые охватывают множество различных программ и могут ухудшить “устойчивость iOS”, облегчив пользователям iPhone переход на конкурирующие устройства
👉 Блокирование облачных потоковых приложений для таких вещей, как видеоигры, что снизило бы потребность в более дорогом оборудовании
👉 Снижение качества обмена сообщениями между iPhone и конкурирующими платформами, такими как Android
👉 Ограничение функциональности смарт-часов сторонних производителей с их iPhone и усложнение перехода пользователей Apple Watch с iPhone из-за проблем с совместимостью
👉 Запрещение сторонним разработчикам создавать конкурирующие цифровые кошельки с функцией tap-to-pay для iPhone


🈸 Важное обновление в AppStoreConnect

Всем разработчикам, приложения которых распространяются в том числе на территории стран ЕС нужно принять новые условия политики конфиденциальности и подтвердить ваш фактический статус. На Reddit активно распространяются новости что приложения снимаются с распространения а некоторые утверждают что ⚠️ УЗ блокируются при несвоевременной реакции. Если вы пропустили письмо от apple вам необходимо:

1️⃣ Зайти в http://appstoreconnect.apple.com/
2️⃣ Перейти в раздел Бизнес
3️⃣ Принять новую политику и указать ваш статус trader / non-trader *

* Все независимые разработчики или компании, которые продают приложения (с целью получения прибыли) и предлагают коммерческую деятельность (покупки в приложении), являются трейдерами. Итак, как трейдер, ваш адрес и контактная информация будут предоставлены пользователям App Store в ЕС. Вы не являетесь трейдером, если ваши приложения предназначены для хобби или некоммерческого использования в ЕС.


Video is unavailable for watching
Show in Telegram
🈸 Play
Play - идеальный инструмент для следующего пет-проекта. Почему?

👉 Бесплатно доступен один проект
👉 Использует возможности iOS (UIKit, Swift UI)
👉 Вы можете использовать нативные компоненты iOS и SDK
👉 При создании проекта в Play доступна вся информация для инженеров, сглаживание кривых, задержки и изменения состояния
👉 Позволяет использовать нативный прототип на своем iPhone даже без установки приложения с помощью App Clips
👉 Реальная запись с телефона, ощущается очень нативно


1️⃣2️⃣3️⃣4️⃣5️⃣SE-0419 Swift Backtrace API

Принят пропоузал поддержке "Бектрейсов" - обратной трассировки вызовов!

Поддержка "Бектрейсов" состоит из двух частей:
1) Реализация обратной трассировки
2) Новая структура Backtrace в стандартной библиотеке Swift

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

Пример использования:

import Runtime
var backtrace = Backtrace.capture()
print(backtrace)
var symbolicated = backtrace.symbolicated()
print(symbolicated)


📣 Яндекс приглашает начинающих IT-специалистов в летнюю Школу мобильной разработки

Бесплатная летняя школа поможет начинающим разработчикам систематизировать имеющиеся знания в создании мобильных приложений на Kotlin, Swift или Flutter, а также обрести новые востребованные навыки.

Программа обучения состоит из 2 этапов:
1️⃣ онлайн-курс лекций с домашними заданиями
2️⃣ очный этап в офисах Яндекса в Москве или Санкт-Петербурге.

Расходы на проезд и проживание оплачивает компания.

📌 Лучшие студенты получат возможность пройти пятинедельную оплачиваемую практику в новом формате Лаборатории.

Отбор учеников проходит в 3 этапа: 
👉 тест на знание выбранной платформы (Android, iOS или Flutter)
👉 решение алгоритмических задач в Контесте
👉 техническое интервью. 

Подборка подготовительных материалов доступна по ссылке.

Подать заявку и выполнить тестовое задание.


Forward from: AvitoTech
Открыли набор на стажировки сразу в 5 направлений: фронтенд, бэкенд, QA, Android, iOS.

❗️Собираем отклики до 28 марта.
Количество участников в каждом направлении ограничено, и регистрация может закрыться раньше.

Спешите нажать на ссылку ниже!

🔥 подать_заявку_подать_заявку 🔥

Стажировка оплачивается? Да, зарплату определяем на интервью в зависимости от профессии и количества часов.

Получится совмещать с учёбой? Да, так как на стажировку понадобится от 25 часов в неделю. Но после — полный рабочий день.

А удалённо можно? Да, если команда не против. Но для оформления нужно быть в России.

И на работу потом возьмёте? Ради этого всё и затевается.

Ждём в команду! ❤️

#avitostart


⌨️ PKL - новый язык конфигурации от Apple

Не сильно замеченный сообществом язык конфигурации от Apple действительно имеет сильные предпосылки стать новым стандартом индустрии. Он программируемый, расширяемый, а главное безопасный. Собрал для вас основные преимущества, который удалось выявить:

👉 Знакомый и понятный синтаксис, даже проще JSON
👉 Гибкое заполнение файлов конфигурации из коробки
👉 Возможность использовать все возможности привычных языков программирования для создания конфигураций
👉 Рендер конфигурации во все привычные форматы, JSON, YML, Plist...
👉 Гибкий синтаксис для задания ограничений полям
👉 Понятный CLI с детальными ошибками
👉 Кодогенерация в Swift, Kotlin, Java и Go


Forward from: Android Broadcast
Экспериментальное MediaPipe LLM Inference API позволяет запускать Large Language Models (LLMs) модели на устройства разных платформ (включая Android и iOS)

Кажется запуск больших нейросеток на устройствах уже все ближе. У меня остались вопрос по расходу батарейки и нагреву устройству при активном использовании. В статье рассказывают про оптимизации и результаты

🔗 Примеры кода на GitHub

На видео в посте демонстрация запуска модели Gemma 2B на iOS и Android с помощью MediaPipe LLM Inference API (размер параметров - 2.5 миллиона)

#ml #tensorflow

14 last posts shown.