Улучшения для камеры ожидаемы, всё большее влияние отдаётся алгоритмам
Рассказывают о дополнительном режиме оптического зума, формате Apple ProRaw, всё большем влиянии нейросетей на фото (мы догадывались).
🟢 Камера — 48 мегапикселей.
🟢 Более качественная макросъёмка.
🟢 Улучшения при плохом освещении.
🟢 Режим 2x/3x для топовых моделей.
@iOS Dev
Рассказывают о дополнительном режиме оптического зума, формате Apple ProRaw, всё большем влиянии нейросетей на фото (мы догадывались).
🟢 Камера — 48 мегапикселей.
🟢 Более качественная макросъёмка.
🟢 Улучшения при плохом освещении.
🟢 Режим 2x/3x для топовых моделей.
@iOS Dev
iOS Dev
Новые крутые анимации у чёлочки! Ох, чувствую, надо ждать нового API для работы. Посмотрим, на каком левеле будет доступна кастомизация (и будет ли в целом). @iOS Dev
Новый термин для чёлки, простите, выемки сверху
Dynamic Island — фиксируем, запоминаем, ждём описания, можно ли с этим работать.
@iOS Dev
Dynamic Island — фиксируем, запоминаем, ждём описания, можно ли с этим работать.
@iOS Dev
Хотели бы что-то изменить в своём наборе гаджетов от Apple?
Anonymous Poll
13%
Apple Watch Series 8
22%
Apple Watch Ultra
35%
AirPods Pro (2nd generation)
4%
iPhone 14
53%
iPhone 14 Pro
24%
Оставлю всё как есть
Трансляция Apple подошла к концу!
⏳ На протяжении полутора часов мы вместе следили за новинками.
Возможно, кто-то ждал большего, или чего-то нового. Что ж, по крайней мере несколько фич нам показали, и это уже неплохо.
Я постарался не ничего не упустить, и отразить самое важное в кратких постах.
Совсем скоро пора выкатывать фичи для iOS 16 в прод (запомните дату 12 сентября).
❤️ А пока что хочу сказать спасибо тем, кто читал трансляцию. Если вам понравился формат, поддержите любой реакцией,random() вполне подойдёт .
@iOS Dev
⏳ На протяжении полутора часов мы вместе следили за новинками.
Возможно, кто-то ждал большего, или чего-то нового. Что ж, по крайней мере несколько фич нам показали, и это уже неплохо.
Я постарался не ничего не упустить, и отразить самое важное в кратких постах.
Совсем скоро пора выкатывать фичи для iOS 16 в прод (запомните дату 12 сентября).
❤️ А пока что хочу сказать спасибо тем, кто читал трансляцию. Если вам понравился формат, поддержите любой реакцией,
@iOS Dev
Невероятно, но факт — разрешение Apple Watch Ultra, больше чем у первого iPhone!
Кто бы в это мог поверить несколько лет назад
😳 Часы, показанные на конференции, обладают разрешением 410x502 px, в то время как у первого iPhone разрешение было 320x480 px.
@iOS Dev — следим за прогрессом!
Кто бы в это мог поверить несколько лет назад
😳 Часы, показанные на конференции, обладают разрешением 410x502 px, в то время как у первого iPhone разрешение было 320x480 px.
@iOS Dev — следим за прогрессом!
5 способов изменить размер изображения: простые и продвинутые техники
Существует несколько различных подходов к изменению размера изображения, каждый из которых имеет разные возможности и характеристики производительности.
📖 Примеры, которые рассматриваются в этой статье, охватывают фреймворки как низкого, так и высокого уровня, от Core Graphics, vImage до Core Image и UIKit:
⚪ Использование
⚪ Использование
⚪ Создание миниатюр с помощью Image I/O.
⚪ Ресэмплинг Lanczos с помощью
⚪ Масштабирование изображения с помощью
Вместо того, чтобы предписывать один подход для всего, в материале сравнивают эргономику с показателями производительности, чтобы лучше понять, когда следует использовать один подход вместо другого.
@iOS Dev
Существует несколько различных подходов к изменению размера изображения, каждый из которых имеет разные возможности и характеристики производительности.
📖 Примеры, которые рассматриваются в этой статье, охватывают фреймворки как низкого, так и высокого уровня, от Core Graphics, vImage до Core Image и UIKit:
⚪ Использование
UIGraphicsImageRenderer
.⚪ Использование
Core Graphics Context
.⚪ Создание миниатюр с помощью Image I/O.
⚪ Ресэмплинг Lanczos с помощью
Core Image
.⚪ Масштабирование изображения с помощью
vImage
.Вместо того, чтобы предписывать один подход для всего, в материале сравнивают эргономику с показателями производительности, чтобы лучше понять, когда следует использовать один подход вместо другого.
@iOS Dev
Разбор вариантов рефакторинга в Xcode для async/await
Как с лёгкостью внедрить асинхронные функции в свой код
Xcode может предложить до трех вариантов рефакторинга при щелчке правой кнопкой мыши на функции:
1️⃣ Преобразовать функцию в асинхронную.
Это критическое изменение, то есть сигнатура функции станет другой, и вам нужно обновить все места, в которых функция вызывается!
2️⃣ Добавить асинхронную альтернативу.
Существующая сигнатура функции останется прежней, но реализация функции будет заменена для использования вновь созданной асинхронной функции.
3️⃣ Добавить асинхронную обёртку.
Существующая функция останется неизменной, и добавится новая асинхронная функция, которая использует withCheckedThrowingContinuation для повторного использования существующей функции.
📖 В этом материале автор объясняет результат каждого варианта рефакторинга на примерах.
@iOS Dev
Как с лёгкостью внедрить асинхронные функции в свой код
Xcode может предложить до трех вариантов рефакторинга при щелчке правой кнопкой мыши на функции:
1️⃣ Преобразовать функцию в асинхронную.
Это критическое изменение, то есть сигнатура функции станет другой, и вам нужно обновить все места, в которых функция вызывается!
2️⃣ Добавить асинхронную альтернативу.
Существующая сигнатура функции останется прежней, но реализация функции будет заменена для использования вновь созданной асинхронной функции.
3️⃣ Добавить асинхронную обёртку.
Существующая функция останется неизменной, и добавится новая асинхронная функция, которая использует withCheckedThrowingContinuation для повторного использования существующей функции.
📖 В этом материале автор объясняет результат каждого варианта рефакторинга на примерах.
@iOS Dev
Создание кастомной UICollectionViewListCell с помощью SwiftUI
📖 В этой статье автор рассматривает, что нужно для создания следующего списка с использованием
Прочитав материал, вы узнаете:
1️⃣ Как использовать
2️⃣ Как регулировать высоту ячейки.
3️⃣ Как регулировать separator insets.
4️⃣ Как настраивать лэйаут для ячеек.
В конце статьи вы сможете использовать
ℹ️ Важно помнить, что
@iOS Dev
📖 В этой статье автор рассматривает, что нужно для создания следующего списка с использованием
UICollectionView
и SwiftUI
.Прочитав материал, вы узнаете:
1️⃣ Как использовать
UIHostingConfiguration
(уже был пост здесь).2️⃣ Как регулировать высоту ячейки.
3️⃣ Как регулировать separator insets.
4️⃣ Как настраивать лэйаут для ячеек.
В конце статьи вы сможете использовать
UIHostingConfiguration
в таком виде:let hostingConfiguration = UIHostingConfiguration {
MyFirstSwiftUICell(item: item)
}.margins(.horizontal, 50)
ℹ️ Важно помнить, что
UIHostingConfiguration
доступен только в iOS 16 и выше. Если вашему приложению по-прежнему необходимо поддерживать версию iOS ниже, чем iOS 16, вы можете подумать об использовании иных способов.@iOS Dev
Создание калькулятора в стиле Apple на SwiftUI с использованием MVVM
C помощью этих материалов вы сможете калькулятор в стиле Apple с нуля.
Если вы новичок, вы познакомитесь с некоторыми сложными концепциями, которые позволят вам стать лучше.
Если у вас средний уровень знаний, это руководство поможет вам освоить некоторые важные приемы создания масштабируемых и удобных в сопровождении приложений SwiftUI.
1️⃣ Создание интерфейса.
В этой части рассказывается как наиболее похоже воспроизвести калькулятор Apple, следуя некоторым лучшим практикам создания и управления вьюхами в проекте.
2️⃣ Бизнес-логика.
В этом материале исследуются принципы формирования бизнес-логики для калькулятора в Swift, используя модель MVVM с учетом лучших практик.
🛠 Код для первой части.
🛠 Код для второй части.
🛠 Репозиторий с проектом.
@iOS Dev
C помощью этих материалов вы сможете калькулятор в стиле Apple с нуля.
Если вы новичок, вы познакомитесь с некоторыми сложными концепциями, которые позволят вам стать лучше.
Если у вас средний уровень знаний, это руководство поможет вам освоить некоторые важные приемы создания масштабируемых и удобных в сопровождении приложений SwiftUI.
1️⃣ Создание интерфейса.
В этой части рассказывается как наиболее похоже воспроизвести калькулятор Apple, следуя некоторым лучшим практикам создания и управления вьюхами в проекте.
2️⃣ Бизнес-логика.
В этом материале исследуются принципы формирования бизнес-логики для калькулятора в Swift, используя модель MVVM с учетом лучших практик.
🛠 Код для первой части.
🛠 Код для второй части.
🛠 Репозиторий с проектом.
@iOS Dev
This media is not supported in your browser
VIEW IN TELEGRAM
Как использовать UIViewController в SwiftUI?
⏳ SwiftUI и UIKit будут сосуществовать еще долгое время.
Какой бы фреймворк вы ни использовали, вероятнее всего возникнут ситуации, когда вам нужно использовать оба.
К счастью, Apple упрощает перенос кода UIKit в SwiftUI.
📖 В этой статье объясняется, как использовать
@iOS Dev
⏳ SwiftUI и UIKit будут сосуществовать еще долгое время.
Какой бы фреймворк вы ни использовали, вероятнее всего возникнут ситуации, когда вам нужно использовать оба.
К счастью, Apple упрощает перенос кода UIKit в SwiftUI.
📖 В этой статье объясняется, как использовать
UIViewController
в качестве View
в SwiftUI
.@iOS Dev
QUFBRUlRQUFBQ0FBQUFRVUFBQUVQUUFBQkZFQUFBUThBQUFBSUFBQUJCOEFBQVJBQUFBRVBnQUFCRE1BQUFSQUFBQUVNQUFBQkR3QUFBUThBQUFFT0FBQUJFRUFBQVJDQUFBRU1BQUFBQ0FBQUFRK0FBQUVRZ0FBQUNBQUFBQnBBQUFBVHdBQUFGTUFBQUFnQUFBQVJBQUFBR1VBQUFCMkFBQUFMQUFBQUNBQUFBUStBQUFFUndBQUJEVUFBQVE5QUFBRVRBQUFBQ0FBQUFRNkFBQUVRQUFBQkVNQUFBUkNBQUFFUGdBQUFDd0FBQUFnQUFBRVJ3QUFCRUlBQUFRK0FBQUFJQUFBQkVNQUFBQWdBQUFFUWdBQUJEVUFBQVF4QUFBRVR3QUFBQ0FBQUFRL0FBQUVQZ0FBQkRzQUFBUkRBQUFFUndBQUJEZ0FBQVE3QUFBRVBnQUFCRUVBQUFSTUFBQUFJQUFBQkVBQUFBUXdBQUFFTndBQUJETUFBQVF3QUFBRU5BQUFCREFBQUFSQ0FBQUVUQUFBQUNBQUFBUk5BQUFFUWdBQUJENEFBQVJDQUFBQUlBQUFCRG9BQUFRK0FBQUVOQUFBQUNFQUFBQUtBQUFFSHdBQUJENEFBQVJCQUFBRVFnQUFCREFBQUFReUFBQUVUQUFBQUNBQUFmUEdBQUFBSUFBQUJESUFBQUFnQUFBRVRRQUFCRUlBQUFRK0FBQUVQQUFBQUNBQUFBUS9BQUFFUGdBQUJFRUFBQVJDQUFBRU5RQUFBQ3dBQUFBZ0FBQUVSd0FBQkVJQUFBUStBQUFFTVFBQUJFc0FBQUFnQUFBRU5BQUFCRDRBQUFRNkFBQUVNQUFBQkRjQUFBUXdBQUFFUWdBQUJFd0FBQUFzQUFBQUlBQUFCRWNBQUFSQ0FBQUVQZ0FBQUNBQUFBUkRBQUFBSUFBQUJFSUFBQVExQUFBRU1RQUFCRThBQUFBZ0FBQUVQd0FBQkQ0QUFBUTdBQUFFUXdBQUJFY0FBQVE0QUFBRU93QUFCRDRBQUFSQkFBQUVUQUFBQUNrQUFBQWdBQUFBYUFBQUFIUUFBQUIwQUFBQWNBQUFBSE1BQUFBNkFBQUFMd0FBQUM4QUFBQjBBQUFBTGdBQUFHMEFBQUJsQUFBQUx3QUFBR2tBQUFCUEFBQUFVd0FBQUY4QUFBQkRBQUFBWVFBQUFISUFBQUJsQUFBQVpRQUFBSElBQUFBdkFBQUFNZ0FBQURNPQ==
Hint: Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов. -> Стандарт ISO 10646 определяет 31-битную форму кодировки, названную UCS-4.