Те кто делал In-App Purchase в цирке не смеется, однако с выходом
StoreKit 2
жизнь iOS разработчиков значительно упростилась. StoreKit 2
поддерживает файлы конфигурации StoreKit
для локальной разработки и мы можем тестировать свои покупки в приложении без подключения к сети и не отправляя их в App Store. Он также предоставляет готовые компоненты SwiftUI, для очень простой интеграции и даже возможностями настройки.В статье использование StoreKit 2 рассматривается на примерах. Включая нативные
StoreView
и ProductView
. Мне статья зашла, давно не сталкивался со StoreKit и новая реализация приятно удивилаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍8
Swift занимает все больше ниш и теперь очередь за микроконтроллерами! Сообщество энтузиастов во главе с одним из разработчиков компилятора создали демонстрационный репозиторий с рефференсными проектами для самых популярных плат. Есть даже поддержка Raspberry Pi Pico W. Еще одна идея для пет проекта 🤗. Что интересно, несмотря на все ограничения, по заверениям автора, со Swift нет проблем с производительностью, отсутствие сборщика мусора тут пригодилось. Все детали про видение будущего Swift для микроконтроллеров можно почитать тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5🤔1
Apple разрешила публиковать в App Store эмуляторы консолей c или без загрузкой игр.
Программы должны соответствовать законодательству == никакого пиратства
#appstore
Программы должны соответствовать законодательству == никакого пиратства
#appstore
❤12🎉5
Яндекс выпустил Yandex Mobile Ads SDK 7
🟢AdPod - Показ нескольких объявлений подряд в одном рекламном блоке
🟢EndСard - Интерактивный экран в конце рекламного объявления
🟢SKOverlay - Возможность скачать приложение сразу из рекламного объявления без перехода в App Store
Если еще не использовали SDK – есть примеры использования на github, а для миграции доступна инструкция по миграции со старой версии.
#яндекс #ads #монетизация
🟢AdPod - Показ нескольких объявлений подряд в одном рекламном блоке
🟢EndСard - Интерактивный экран в конце рекламного объявления
🟢SKOverlay - Возможность скачать приложение сразу из рекламного объявления без перехода в App Store
Если еще не использовали SDK – есть примеры использования на github, а для миграции доступна инструкция по миграции со старой версии.
#яндекс #ads #монетизация
👍7
Принято расширение размерности целых чисел
[U]Int128
- это самый большой тип с фиксированным размером, который в настоящее время широко используется в коде "общего назначения". 128 бит будут добавлены в стандартную библиотеку, а в данный момент уже доступны в package.
.package(
url: "https://github.com/stephentyrone/swift-numerics",
branch: "int128"
)
Теперь нам доступно
170141183460469231731687303715884105727
Есть идеи, зачем это может понадобиться в продуктовой разработке?
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
swift-evolution/proposals/0425-int128.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
🤔5
Динамическая и статическая диспетчеризации - важные концепции в Swift. Динамическая диспетчеризация используется для классов и допускает полиморфизм во время выполнения, в то время как статическая диспетчеризация используется для структур, перечислений и конечных классов, обеспечивая более высокую производительность за счет оптимизации во время компиляции.
Понимание различий между динамической и статической диспетчеризацией может помочь вам принимать обоснованные решения при разработке Swift приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Пропустил эту важную новость, подтверждающую мои предположения - этот WWDC будет под флагом AI. Что тут важно:
Но в марте этого года Apple стала вести переговоры об использовании AI от Baidu. Это может означать как сложности с работоспособностью собственных моделей, так и использование более подходящих моделей под крупные рынки
Какие ваши мысли? Сможет Apple вступить в гонку и показать как надо было или так и будет в роли догоняющей со своей Siri? Я лично жду нативной интеграции LLM в Xcode 🤞️️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
iOS разработчики часто в своей работе сталкиваются с веб технологиями, как минимум при интеграции WKWebView и SFSafariViewController. Команда WebKit за последние годы очень круто продвинулась в контексте поддержки веб стандартов. Чего стоит только поддержка PWA и нотификаций без сертификата разработчика. Команда WebKit на этом не остановилась и плотно работала над оптимизацией работы, в результате чего в реальном бенчмарке общий показатель Speedometer 3.0 улучшился примерно на 60% между Safari 17.0 и Safari 17.4.
Бенчмарк Speedometer является максимальным приближением к пользовательским действиям и лучшие результаты движка в нем напрямую влияют на реальный пользовательский опыт
Please open Telegram to view this post
VIEW IN TELEGRAM
WebKit
Optimizing WebKit & Safari for Speedometer 3.0
The introduction of Speedometer 3.0 is a major step forward in making the web faster for all, and allowing Web developers to make websites and web apps that were not previously possible.
👍15❤1
Как заставить ScrollView начинать снизу?
К моему удивлению, только в iOS 17 для SwiftUI появился нативный способ сделать коллекцию со скролом снизу defaultScrollAnchor. Этот подход часто требуется для экрана с сообщениями. Если вы работаете не в стартапе и вам нужно добиться похожего поведения до iOS 17, прийдется делать по-старинке:
К моему удивлению, только в iOS 17 для SwiftUI появился нативный способ сделать коллекцию со скролом снизу defaultScrollAnchor. Этот подход часто требуется для экрана с сообщениями. Если вы работаете не в стартапе и вам нужно добиться похожего поведения до iOS 17, прийдется делать по-старинке:
view.transform = CGAffineTransform(rotationAngle: (-.pi))
cell.transform = CGAffineTransform(rotationAngle: (-.pi))
👏9👍6
Вышла очень интересная статья про Accelerate от моего коллеги, которую мне удалось ревьювить перед публикацией, но коментариев от меня не было, так как написано все очень понятно. Если не знаете что это такое или пытались почитать но ничего не поняли - очень советую ознакомиться.
P.S. Ну и накиньте "Нравится" или коментариев, поддержим первую статью Игоря
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3👏3
Простая и понятная статья про реализацию пагинации поиска в приложении Medium. Меня больше заинтересовала даже не сама пагинации а простота архитектуры. Все по заветам Apple, данные вытягиваются прямо на уровне View, экран поиска реализован через Generic с разными комбинациями Presenter+Content. По-классике используется LCE подход
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Вышла еще одна статья, в ревью которой я принимал участие. Рефлексия в Swift не такая мощная как в Java, но как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.
Главное не забыть что рефлексия будет работать не при всех опциях компиляции
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Распространение приложений через сайт
Начиная с iOS 17.5 beta 2 можно начать тестирование прямого скачивания iOS приложений прямо с веб-сайта, принадлежащего разработчику, среди пользователей в Европейском союзе. Приложения могут быть установлены только с домена веб-сайта, который разработчик зарегистрировал в App Store Connect и подписаны специальным образом.
Чтобы устанавливать приложения с веб-сайта разработчика, пользователям сначала нужно будет разрешить разработчику устанавливать приложения в настройках своего iPhone. При установке приложения на системном экране будет отображаться информация, которую разработчик отправлял Apple на проверку: название приложения, имя разработчика, описание приложения, скриншоты и возрастной рейтинг. Напоминаю, чтобы раздавать приложение таким образом требуется:
🟢 УЗ разработчика должна быть ассоциирована с фирмой, зарегистрированной в ЕС
🟢 Иметь "хорошую" репутацию в программе разработчиков Apple минимум 2 года
🟢 Иметь более одного миллиона установок в год на территории ЕС
🟢 Иметь прозрачную политику сбора данных
🟢 Соблюдать все законы и юрисдикции, в которых осуществляется работа (например, Закон о цифровых услугах, Общие положения о защите данных и законы о защите потребителей)
Ну и не забыть оплатить 50 евроцентов за каждую установку после миллионной (если не достигли миллиона установок, то распространять вне AppStore не получится)
Начиная с iOS 17.5 beta 2 можно начать тестирование прямого скачивания iOS приложений прямо с веб-сайта, принадлежащего разработчику, среди пользователей в Европейском союзе. Приложения могут быть установлены только с домена веб-сайта, который разработчик зарегистрировал в App Store Connect и подписаны специальным образом.
Чтобы устанавливать приложения с веб-сайта разработчика, пользователям сначала нужно будет разрешить разработчику устанавливать приложения в настройках своего iPhone. При установке приложения на системном экране будет отображаться информация, которую разработчик отправлял Apple на проверку: название приложения, имя разработчика, описание приложения, скриншоты и возрастной рейтинг. Напоминаю, чтобы раздавать приложение таким образом требуется:
Ну и не забыть оплатить 50 евроцентов за каждую установку после миллионной (если не достигли миллиона установок, то распространять вне AppStore не получится)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Замеряем производительность циклов в Swift
Бестолковая но очень интересная статья. Если у вас был когда-то курс по основам computer-science, компиляторам или ассемблеру, ничего нового вы не узнаете, но зато можно убедиться что теория соответствует современной реальности. В статье есть пример использования инструмента профайлинга и пример как можно упороться максимально в детали компилятора Swift.
Из статьи вы узнаете, почему
Бестолковая но очень интересная статья. Если у вас был когда-то курс по основам computer-science, компиляторам или ассемблеру, ничего нового вы не узнаете, но зато можно убедиться что теория соответствует современной реальности. В статье есть пример использования инструмента профайлинга и пример как можно упороться максимально в детали компилятора Swift.
Из статьи вы узнаете, почему
while
быстрее чем for
и почему нельзя измерять производительность в debug
конфигурации🔥5
Решил разобраться в новости которую многие на выходных публиковали с посылом, Apple Pay возвращается в Россию. Давайте разберемся с фактами, которые есть сейчас:
В целом, движение действительно в сторону открытия экосистемы. В контексте блокировки Apple Pay всем хотелось бы чтобы это относилось к нам, но пока что только к ЕС
Please open Telegram to view this post
VIEW IN TELEGRAM
Reuters
Apple's offer to open up tap-and-go tech to be approved by EU next month, sources say
Apple's offer to open its tap-and-go mobile payments system to rivals is set to be approved by EU antitrust regulators as soon as next month after it tweaked some of the terms, people familiar with the matter said.
👍12
Серия видео в реальном времени по использованию SwiftUI. В данном видео на практике рассматривается пример применения TDD с интерфейсом SwiftUI. Очень полезно для тех кто слышал про TDD но не мог практически понять как писать тесты до написания логики. Очень хорошо видно как преображается качество архитектурного решения исходя из вводных по тестовым сценариям.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Apple объявила о проведении мероприятия Let Loose. Оно состоится во вторник 7 мая. Прямая трансляция будет доступна на сайте Apple.com.
Слоган и изображение, украшающее анонс предстоящего события, намекают на выпуск новых планшетов iPad Pro и iPad Air, а также аксессуаров Apple Pencil и Magic Keyboard. По данным MacRumors, инсайдеры ждут от майской презентации раскрытия следующих устройств:
Please open Telegram to view this post
VIEW IN TELEGRAM
MacRumors
Apple Announces 'Let Loose' Event on May 7 Amid Rumors of New iPads
Apple has announced it will be holding a special event on Tuesday, May 7 at 7 a.m. Pacific Time (10 a.m. Eastern Time), with a live stream to be...
C 1 мая 2024 года приложения без PrivacyInfo.xcprivacy, будут отклоняться от Review.
PrivacyInfo.xcprivacy - это XML-файл в формате .plist. Существует 3 основных типа данных, которые должны быть указаны в Манифесте конфиденциальности:
Если вы еще не успели разобраться в полной документации Apple, этот генератор спасет вам майские праздники
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
В данном пропоузале появилась возможность помечать
import
любым из доступных уровней доступа Swift, чтобы ограничить типы или интерфейсы. Благодаря этим изменениям, зависимости теперь могут быть помечены как видимые для текущего исходного файла (private или fileprivate), модуля (internal), пакета (package) или всех клиентов (public).Это предложение вносит изменения в два функционала, которые будут включены в Swift 6 по умолчанию.:
Это отличное дополнение к языку, о котором я лично давно ждал, поскольку оно позволяет разработчикам лучше скрывать детали реализации. Кроме того, это также ограничивает количество зависимостей, импортируемых клиентами пакета, теми, которые помечены как общедоступные, при соблюдении правильных условий, что сокращает время компиляции.
Please open Telegram to view this post
VIEW IN TELEGRAM