Только ленивый не рассказал про обновление Swift 5.10. Теперь мой черёд
- Закрыты все известные дыры в безопасности статической гонки данных за счет полной строгой проверки параллелизма.
Правда, пока только с флагом
Пример:
- Добавлен новый неизолированный (небезопасный) модификатор
- Исправлено множество ошибок в проверке изоляции субъектов @MainActor и Sendable, чтобы усилить гарантии полной проверки параллелизма.
Мои мысли:
Swift становится все проще для разработки, и все сложнее для понимания.
Но я рад, что Apple стандартизирует разные области нашего ремесла, и теперь ответ для моего вопроса с собеседования "Как вы видите data-race safety" становится более четким.
Ссылка
- Закрыты все известные дыры в безопасности статической гонки данных за счет полной строгой проверки параллелизма.
Правда, пока только с флагом
-strict-concurrency=complete.Пример:
@MainActor
class MyModel {
init() {
MainActor.assertIsolated()
}
static let shared = MyModel()
}
func useShared() async {
let model = MyModel.shared
}
await useShared()
warning: expression is 'async' but is not marked with 'await'
let model = MyModel.shared
^~~~~~~~~~~~~~
await
- Добавлен новый неизолированный (небезопасный) модификатор
nonisolated(unsafe) для аннотации глобальных или статических переменных для подавления нарушений изоляции данных при ручной синхронизации. - Исправлено множество ошибок в проверке изоляции субъектов @MainActor и Sendable, чтобы усилить гарантии полной проверки параллелизма.
Мои мысли:
Swift становится все проще для разработки, и все сложнее для понимания.
Но я рад, что Apple стандартизирует разные области нашего ремесла, и теперь ответ для моего вопроса с собеседования "Как вы видите data-race safety" становится более четким.
Ссылка
GitHub
swift/CHANGELOG.md at release/5.10 · swiftlang/swift
The Swift Programming Language. Contribute to swiftlang/swift development by creating an account on GitHub.
🔥7👍4🍓1
Веб-распространение iOS приложений (Только для ЕС) Ч1
В весеннем обновлении появится функция авторизованным разработчикам
Apple предоставит доступ к API, которые облегчат распространение их приложений из интернета.
Ссылка
В весеннем обновлении появится функция авторизованным разработчикам
распространять свои приложения iOS среди пользователей из ЕС непосредственно с веб-сайта, принадлежащего разработчику. Apple предоставит доступ к API, которые облегчат распространение их приложений из интернета.
Ссылка
Apple
More options for apps distributed in the European Union - Latest News - Apple Developer
We’re providing more flexibility for developers who distribute apps in the European Union (EU), including introducing a new way to distribute apps directly from a developer’s website.More flexibilityDevelopers who’ve agreed to the Alternative Terms Addendum…
👍7👀3
Веб-распространение iOS приложений. Ч2
Подробности:
- Приложение может быть установлено только с домена веб-сайта, который разработчик зарегистрировал в App Store Connect.
- Используя App Store Connect, разработчики могут легко загружать подписанные двоичные ресурсы и размещать их на своем веб-сайте для распространения.
- Чтобы устанавливать приложения с веб-сайта разработчика, пользователям сначала необходимо разрешить разработчику устанавливать приложения в настройках на своем iPhone.
- Apple будет авторизовать разработчиков после соблюдения определенных критериев и соблюдения постоянных требований.
Ссылка
Подробности:
- Приложение может быть установлено только с домена веб-сайта, который разработчик зарегистрировал в App Store Connect.
- Используя App Store Connect, разработчики могут легко загружать подписанные двоичные ресурсы и размещать их на своем веб-сайте для распространения.
- Чтобы устанавливать приложения с веб-сайта разработчика, пользователям сначала необходимо разрешить разработчику устанавливать приложения в настройках на своем iPhone.
- Apple будет авторизовать разработчиков после соблюдения определенных критериев и соблюдения постоянных требований.
Ссылка
👍5❤2
Веб-распространение iOS приложений. Ч3
Чтобы иметь право на распространение через Интернет, вы должны:
- Быть зарегистрированным в программе Apple Developer Program в качестве организации, зарегистрированной в ЕС (или иметь дочернее юридическое лицо, зарегистрированное в ЕС, которое указано в App Store Connect).
- Быть участником программы Apple Developer Program с хорошей репутацией в течение двух или более лет подряд и иметь приложение, которое за предыдущий календарный год было установлено более одного миллиона первых ежегодных установок на iOS в ЕС.
- Предлагать приложения только из вашей учетной записи разработчика.
- Быть отзывчивы на сообщения Apple относительно ваших приложений, распространяемых через веб-распространение, особенно в отношении любого мошеннического, злонамеренного или незаконного поведения, а также чего-либо еще, что, по мнению Apple, влияет на безопасность, защищенность или конфиденциальность пользователей.
- Опубликовать прозрачные политики сбора данных и предложите пользователям контролировать сбор и использование их данных.
- Соблюдать применимые законы юрисдикций, в которых вы работаете (например, Закон о цифровых услугах, Общие положения о защите данных и законы о защите потребителей).
- Нести ответственность за обработку правительственных и других запросов на удаление списков приложений.
Ссылка
Чтобы иметь право на распространение через Интернет, вы должны:
- Быть зарегистрированным в программе Apple Developer Program в качестве организации, зарегистрированной в ЕС (или иметь дочернее юридическое лицо, зарегистрированное в ЕС, которое указано в App Store Connect).
- Быть участником программы Apple Developer Program с хорошей репутацией в течение двух или более лет подряд и иметь приложение, которое за предыдущий календарный год было установлено более одного миллиона первых ежегодных установок на iOS в ЕС.
- Предлагать приложения только из вашей учетной записи разработчика.
- Быть отзывчивы на сообщения Apple относительно ваших приложений, распространяемых через веб-распространение, особенно в отношении любого мошеннического, злонамеренного или незаконного поведения, а также чего-либо еще, что, по мнению Apple, влияет на безопасность, защищенность или конфиденциальность пользователей.
- Опубликовать прозрачные политики сбора данных и предложите пользователям контролировать сбор и использование их данных.
- Соблюдать применимые законы юрисдикций, в которых вы работаете (например, Закон о цифровых услугах, Общие положения о защите данных и законы о защите потребителей).
- Нести ответственность за обработку правительственных и других запросов на удаление списков приложений.
Ссылка
👍4🔥4
Веб-распространение iOS приложений. Ч4
Платежи, сборы и налоги
- Разработчики будут платить CTF в размере 0,50 евро за каждую первую ежегодную установку более одного миллиона приложений за последние 12 месяцев.
- Некоммерческие организации, аккредитованные образовательные учреждения или государственные учреждения, базирующиеся в ЕС, которым было одобрено освобождение от уплаты сборов, освобождаются от ежегодного членского взноса в Программу разработчиков Apple и сбора за распространение.
Ссылка
Платежи, сборы и налоги
- Разработчики будут платить CTF в размере 0,50 евро за каждую первую ежегодную установку более одного миллиона приложений за последние 12 месяцев.
- Некоммерческие организации, аккредитованные образовательные учреждения или государственные учреждения, базирующиеся в ЕС, которым было одобрено освобождение от уплаты сборов, освобождаются от ежегодного членского взноса в Программу разработчиков Apple и сбора за распространение.
Ссылка
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Веб-распространение iOS приложений. Ч5
Мои мысли: для нас мимо. Всем хорошего дня!
Мои мысли: для нас мимо. Всем хорошего дня!
👍6😁3👀2
Media is too big
VIEW IN TELEGRAM
RollingTimeIntervalText
Первый самостоятельно написанный крутой UI элемент. (Смотри на таймер со временем)
SwiftUI не перестает удивлять своей простотой относительно количества кода и его понимания. И своей сложностью, ибо как до этого всего додуматься, порой, не понимаю..
Код в следующем посте ⬇️
Первый самостоятельно написанный крутой UI элемент. (Смотри на таймер со временем)
SwiftUI не перестает удивлять своей простотой относительно количества кода и его понимания. И своей сложностью, ибо как до этого всего додуматься, порой, не понимаю..
Код в следующем посте ⬇️
🔥9👍6
RollingTimeIntervalText.swift
3.7 KB
RollingTimeIntervalText
Made in https://news.1rj.ru/str/ios_iss_blog
СкринКаст - https://news.1rj.ru/str/ios_iss_blog/50
Made in https://news.1rj.ru/str/ios_iss_blog
СкринКаст - https://news.1rj.ru/str/ios_iss_blog/50
👍6🔥3
Media is too big
VIEW IN TELEGRAM
Копируем Тинькофф банк на SwiftUI
На днях закончил с флоу «Придумайте код» и «Повторите код».
- 250 строк кода.
- Многие модификаторы, методы и прочие штуки доступны на поздних iOS версиях. Из-за чего приходиться чаще выкручиваться.
- Кто-бы что не говорил, TCA - топ. 200 строк тестируемой бизнес логики, так еще дополнив паттерном "Стратегия". Мммм...
- Навигация в SwiftUI - 🙈. И проблема не в том, что навигацию сложно вынести в бизнес-роутер-слой. С либам все выносится. Для меня проблема в том, что она какая-то ненадежная что-ли. Будто шаг влево, шаг вправо, и все, навигация поплывет, экраны сбросятся, логика сломается. Вот мы столкнулись с таким багом, и решение - сплошные костыли 🤡.
В общем, пока в раздумьях на счет правильного подхода к навигации. Порой хочется плюнуть, и писать навигацию на UIKit.
На днях закончил с флоу «Придумайте код» и «Повторите код».
- 250 строк кода.
- Многие модификаторы, методы и прочие штуки доступны на поздних iOS версиях. Из-за чего приходиться чаще выкручиваться.
- Кто-бы что не говорил, TCA - топ. 200 строк тестируемой бизнес логики, так еще дополнив паттерном "Стратегия". Мммм...
- Навигация в SwiftUI - 🙈. И проблема не в том, что навигацию сложно вынести в бизнес-роутер-слой. С либам все выносится. Для меня проблема в том, что она какая-то ненадежная что-ли. Будто шаг влево, шаг вправо, и все, навигация поплывет, экраны сбросятся, логика сломается. Вот мы столкнулись с таким багом, и решение - сплошные костыли 🤡.
В общем, пока в раздумьях на счет правильного подхода к навигации. Порой хочется плюнуть, и писать навигацию на UIKit.
🔥13
С нынешними ценами могу сказать лишь одно:
Берегите матрицу с молоду.
😁8❤2💯2⚡1
SwiftUI - это не больно.
SwiftUI с поддержкой 14 iOS - этопипец как больно.
SwiftUI с поддержкой 14 iOS - это
😱9
Forwarded from iOS Dev
This media is not supported in your browser
VIEW IN TELEGRAM
Генерация Swift-кода в (почти) реальном времени на базе нарисованного скетча
🎆 Дэниел Лейверс в демонстрации магистерской диссертации показал, на что способны современные технологии.
Можно набросать скетч помощью iPad-pencil и увидеть, как рядом с ним появляется реальный интерактивный интерфейс и Swift-код.
Приложение использует модель, заранее созданную на базе элементов UI, которая подается в алгоритм yolov5 и преобразуется в CoreML.
Это невероятно сложно и интересно.
📖 Саму диссертацию Дэниела можно прочитать здесь.
😃 iOS IQ • Другие эффекты
Можно набросать скетч помощью iPad-pencil и увидеть, как рядом с ним появляется реальный интерактивный интерфейс и Swift-код.
Приложение использует модель, заранее созданную на базе элементов UI, которая подается в алгоритм yolov5 и преобразуется в CoreML.
Это невероятно сложно и интересно.
📖 Саму диссертацию Дэниела можно прочитать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Постараюсь не превращать блог в склад избранного, но это надо не потерять ⬇️
👍7🤝3
Forwarded from Swift Tips
Privacy Manifest: что нужно о нём знать для внедрения в проект
Пошаговая инструкция по внедрению Privacy Manifest на примере вымышленного проекта с практическими советам.
Читать (Ru)
Пошаговая инструкция по внедрению Privacy Manifest на примере вымышленного проекта с практическими советам.
Читать (Ru)
👍11
⚠️ UIKit deprecated c 18 iOS.
Apple reviews после выхода iOS 18 будут принимать приложения только с корневым App, в котором разработчикам предлагают делать проверку на версию с показом легаси приложения.
Xcode 16 будет выгружать приложения только на SwiftUI.
Press+F всем бигЭппам на UIKit. Напиши в комментариях, если переписываете приложения на SwiftUI.
Apple reviews после выхода iOS 18 будут принимать приложения только с корневым App, в котором разработчикам предлагают делать проверку на версию с показом легаси приложения.
Xcode 16 будет выгружать приложения только на SwiftUI.
Press+F всем бигЭппам на UIKit. Напиши в комментариях, если переписываете приложения на SwiftUI.
Apple Developer Documentation
App | Apple Developer Documentation
A type that represents the structure and behavior of an app.
🤯7👍2😱1
Кастомный звук на пушах
Почему-то у части приложений появилась фишка, заменить дефолтный звук на более звонкий.
Таких сразу в пушной бан…
А, вот, почему никто не идет в совсем кастомные звуки у пушей?
Представь, тебе от банка пуш «Погасите платеж по кредиту» со звуком «Где деньги, Лебовски?».
Или, когда заканчиваются деньги на телефоне, тебе от приложения оператора напоминание «Не забудьте оплатить тариф». И звук «Родной, оплати сейчас, ну потом забудешь, будешь ехать в метро без интернета, оно тебе надо? Вот-вот»
Тинек, Билайн, идеи за бесплатно!
Почему-то у части приложений появилась фишка, заменить дефолтный звук на более звонкий.
Таких сразу в пушной бан…
А, вот, почему никто не идет в совсем кастомные звуки у пушей?
Представь, тебе от банка пуш «Погасите платеж по кредиту» со звуком «Где деньги, Лебовски?».
Или, когда заканчиваются деньги на телефоне, тебе от приложения оператора напоминание «Не забудьте оплатить тариф». И звук «Родной, оплати сейчас, ну потом забудешь, будешь ехать в метро без интернета, оно тебе надо? Вот-вот»
Тинек, Билайн, идеи за бесплатно!
👍6🎃3🙉1
Углубляемся в SwiftUI. Градиенты и гласморфизм.
Повторяем код и запоминаем. Еще и ChatGPT неплохо помогает.
SwiftUI Livestream: Glassmorphism and Angular Gradients
Повторяем код и запоминаем. Еще и ChatGPT неплохо помогает.
SwiftUI Livestream: Glassmorphism and Angular Gradients
YouTube
SwiftUI Livestream: Glassmorphism and Angular Gradients
In this livestream, we'll implement gradients, cards, visual effect blur, outlines and animations in SwiftUI
Resources
🎨 Figma design tool: https://www.figma.com
🎨 SwiftUI Inspector: https://swiftui.ai
🛠 Download Xcode: https://developer.apple.com/xcode…
Resources
🎨 Figma design tool: https://www.figma.com
🎨 SwiftUI Inspector: https://swiftui.ai
🛠 Download Xcode: https://developer.apple.com/xcode…
🔥6👍2❤1