Apple Store Ковент-Гарден (Лондон)
Посещение необычных или старых сторов эпл - одна из моих небольших традиций при поездках в другие страны.
📸 В этот раз делюсь фотосетом одного из флагманских магазинов компании в Великобритании.
Трехэтажный магазин, расположенный в здании, где раньше находился Rock Garden, привлекает огромное количество туристов.
Каждое помещение посвящено одной из линеек продукции Apple, а главный двор полностью отдан под большие дубовые столы с десятками планшетов iPad, которые покупатели смогут опробовать.
После оплаты они могут посетить «комнату настройки», где сотрудники Apple распакуют и настроят их новый гаджет.
Забавный факт, даже если у компании что-то пойдет не так, то на продаже этой недвижимости они смогут заработать невероятно крупную сумму денег, ведь адрес этого красивого здания - London, The Plaza, 1.
Около десяти лет назад в Ковент-Гардене было даже больше посетителей, чем на пятом авеню в Нью-Йорке!
Другие истории об эпл сторах:
🍏 Apple Store Marunouchi в Токио.
🍏 Apple Store в Купертино.
🍏 Apple Tower Theater в Лос-Анджелесе.
😃 iOS Dev
Посещение необычных или старых сторов эпл - одна из моих небольших традиций при поездках в другие страны.
📸 В этот раз делюсь фотосетом одного из флагманских магазинов компании в Великобритании.
Трехэтажный магазин, расположенный в здании, где раньше находился Rock Garden, привлекает огромное количество туристов.
Каждое помещение посвящено одной из линеек продукции Apple, а главный двор полностью отдан под большие дубовые столы с десятками планшетов iPad, которые покупатели смогут опробовать.
После оплаты они могут посетить «комнату настройки», где сотрудники Apple распакуют и настроят их новый гаджет.
Забавный факт, даже если у компании что-то пойдет не так, то на продаже этой недвижимости они смогут заработать невероятно крупную сумму денег, ведь адрес этого красивого здания - London, The Plaza, 1.
Около десяти лет назад в Ковент-Гардене было даже больше посетителей, чем на пятом авеню в Нью-Йорке!
Другие истории об эпл сторах:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🕹 В App Store разрешили эмуляторы ретро-игр
Теперь разработчики могут выкладывать и такой тип приложений, а пользователи iPhone смогут устанавливать себе эмуляторы напрямую из App Store, а не использовать для этого сторонние магазины приложений, которые ранее разрешили в ЕС.
До этого любые эмуляторы игр были под запретом. Единственным вариантом было юзать джейлбрейк или искать альтернативные пути.
Важная деталь — эмуляторы должны соответствовать остальным правилам, включая запрет на пиратские игры.
📖 Детально изменения гайдлайнов здесь.
😃 iOS Dev
Теперь разработчики могут выкладывать и такой тип приложений, а пользователи iPhone смогут устанавливать себе эмуляторы напрямую из App Store, а не использовать для этого сторонние магазины приложений, которые ранее разрешили в ЕС.
До этого любые эмуляторы игр были под запретом. Единственным вариантом было юзать джейлбрейк или искать альтернативные пути.
Важная деталь — эмуляторы должны соответствовать остальным правилам, включая запрет на пиратские игры.
📖 Детально изменения гайдлайнов здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Method swizzling в Swift: определение, примеры, плюсы и минусы
Method swizzling — это техника, которая позволяет изменять или заменять реализацию существующего метода в рантайме.
Она включает в себя обмен реализациями двух методов, обычно для добавления или изменения поведения без модификации исходного класса.
😎 Firebase, пожалуй, самый известный SDK, который юзает свиззлинг. Например, FirebaseAnalytics изменяет методы жизненного цикла в
Pulse изменяет инициализатор URLSession для трекинга сетевой активности, проходящей через URLSession.
А в целом, пул применения можно расширить до следующих примеров:
1️⃣ Расширение или изменение поведения существующих методов во фреймворках или сторонних либах.
2️⃣ Отладка или логирование, например, отслеживание вызовов или измерение производительности.
3️⃣ Аутентификация или кэширование, в нескольких методах или классах.
✅ В ноушне я добавил примеры кода, плюсы и минусы (и когда лучше избегать этого способа), а также несколько полезнейших источников для того, чтоб разобраться с Method Swizzling.
😃 iOS Dev
Method swizzling — это техника, которая позволяет изменять или заменять реализацию существующего метода в рантайме.
Она включает в себя обмен реализациями двух методов, обычно для добавления или изменения поведения без модификации исходного класса.
UIViewController
для отправки событий аналитики.Pulse изменяет инициализатор URLSession для трекинга сетевой активности, проходящей через URLSession.
А в целом, пул применения можно расширить до следующих примеров:
1️⃣ Расширение или изменение поведения существующих методов во фреймворках или сторонних либах.
2️⃣ Отладка или логирование, например, отслеживание вызовов или измерение производительности.
3️⃣ Аутентификация или кэширование, в нескольких методах или классах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple показал Ferret-UI для распознавания мобильных интерфейсов
После обучения на собранных массивах данных Ferret-UI демонстрирует отличное понимание интерфейса и способность выполнять открытые инструкции.
Ferret-UI не только превосходит большинство опенсорсных MLLM, но и превосходит GPT-4V по всем элементарным UI-задачам.
🔗 Целиком исследование доступно здесь.
Вероятно, как минимум, это расширит области по работе с доступностью для определённых групп пользователей, а как максимум, может приведёт нас к этому.
К слову, у гугла есть также есть объёмное исследование для работы с интерфейсом.
😃 iOS Dev
После обучения на собранных массивах данных Ferret-UI демонстрирует отличное понимание интерфейса и способность выполнять открытые инструкции.
Ferret-UI не только превосходит большинство опенсорсных MLLM, но и превосходит GPT-4V по всем элементарным UI-задачам.
Вероятно, как минимум, это расширит области по работе с доступностью для определённых групп пользователей, а как максимум, может приведёт нас к этому.
К слову, у гугла есть также есть объёмное исследование для работы с интерфейсом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Benchmark - инструмент для измерения производительности Swift
Производительность, безусловно, ключевая характеристика и для приложений, и для фреймворков.
Benchmark позволяет легко чекать множество показателей: загрузку процессора, ARC-трафика, использование памяти, ресурсов оси, таких как потоки и системные вызовы, а также полностью кастомные счетчики метрик.
Его основная функция - именно замер производительности, а другие средства (Instruments, DTrace, Heaptrack, Leaks, Sample) могут быть использованы для поиска причин.
🛠 Вот тут есть сылка на репозиторий и статья с примерами на сайте swift.org.
📖 А вот здесь в канале разбор инструмента от ETTrace от Emerge.
✅ А в iOS IQ есть огромный раздел c советами по повышению производительности приложений (как бороться с лагами, шаги по поиску утечек и многое другое).
😃 iOS Dev
Производительность, безусловно, ключевая характеристика и для приложений, и для фреймворков.
Benchmark позволяет легко чекать множество показателей: загрузку процессора, ARC-трафика, использование памяти, ресурсов оси, таких как потоки и системные вызовы, а также полностью кастомные счетчики метрик.
Его основная функция - именно замер производительности, а другие средства (Instruments, DTrace, Heaptrack, Leaks, Sample) могут быть использованы для поиска причин.
🛠 Вот тут есть сылка на репозиторий и статья с примерами на сайте swift.org.
📖 А вот здесь в канале разбор инструмента от ETTrace от Emerge.
Please open Telegram to view this post
VIEW IN TELEGRAM
Создание серчбара в стиле Apple
⭐️ Каждый, кто работал с эпловским серчбаром, знает, как сложно было хэндлить разные кейсы до выхода последних версий iOS, особенно если используется непростая кастомизация.
Во многих приложениях Apple для visionOS, таких как Music, Safari и Apple TV, также есть удобное поле поиска.
Но начиная с версии visionOS 1.1, повторить его визуальное исполнение непросто из-за отсутствия нужного API, хотя и все равно возможно!
📖 В этом материале разработчик объясняет, как можно для этих целей использовать UISearchBar из UIKit (и делится неочевидными сложностями).
😃 iOS Dev
Во многих приложениях Apple для visionOS, таких как Music, Safari и Apple TV, также есть удобное поле поиска.
Но начиная с версии visionOS 1.1, повторить его визуальное исполнение непросто из-за отсутствия нужного API, хотя и все равно возможно!
📖 В этом материале разработчик объясняет, как можно для этих целей использовать UISearchBar из UIKit (и делится неочевидными сложностями).
Please open Telegram to view this post
VIEW IN TELEGRAM
Cтруктурные шаблоны (structural patterns) — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.
Проще говоря, этот вид паттернов связан с композицией объектов или тем, как сущности могут использовать друг друга.
Что к ним можно отнести?
- Адаптер.
- Мост.
- Компоновщик.
- Декоратор.
- Фасад.
- Flyweight (приспособленец/легковес).
- Прокси.
В iOS IQ я уже писал о том, почему удобная архитектура == более гибкий и лёгкий в поддержке код.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как быстро создать privacy manifest для приложения
Уже сейчас при заливке билдов в аппсторе есть соответствующее уведомление, а начиная с мая можно получить реджект, если не будет соответствующего манифеста.
Мик Бирн посчитал не слишком удобным, как это сделано сейчас в Xcode (поиск причин вручную) и реализовал собственную тулзу для генерации таких файлов (бесплатно и в открытом доступе).
🔗 Создать собственный манифест можно с помощью этого ресурса.
😃 iOS Dev
Уже сейчас при заливке билдов в аппсторе есть соответствующее уведомление, а начиная с мая можно получить реджект, если не будет соответствующего манифеста.
Мик Бирн посчитал не слишком удобным, как это сделано сейчас в Xcode (поиск причин вручную) и реализовал собственную тулзу для генерации таких файлов (бесплатно и в открытом доступе).
Please open Telegram to view this post
VIEW IN TELEGRAM
Блок вопросов: многопоточность (и бонус)
В iOS IQ на сегодня больше 10 крупных разделов (от алгоритмов до архитектур), каждый из которых постоянно обновляется, несколько сотен статей и множество реальных примеров кода.
На выходных я провёл редизайн некоторых секций, и теперь вопросы будут вынесены более явно.
Цель — собрать не только теорию, не только код, но и вопросы, которые требуют размышлений. Ведь все мы знаем, что правильно заданное направление (или вопрос) позволяет решить задачу уже на автоматизме.
Сейчас в этом разделе уже 20 вопросов, начиная от GCD и заканчивая async/await. А в разделе с вопросами на чтение кода ещё больше.
Каждая тема подкреплена материалами для изучения, с которых следует начать подготовку.
🍏 ➡️ Секретная ссылка со скидкой здесь (количество активаций ограничено). [UPDATE] Добавил несколько дополнительных после запросов
Скоро будет дополнительный анонс по развитию контента, рекомендую подписаться заранее, чтобы не пропустить.
😃 iOS IQ
В iOS IQ на сегодня больше 10 крупных разделов (от алгоритмов до архитектур), каждый из которых постоянно обновляется, несколько сотен статей и множество реальных примеров кода.
На выходных я провёл редизайн некоторых секций, и теперь вопросы будут вынесены более явно.
Цель — собрать не только теорию, не только код, но и вопросы, которые требуют размышлений. Ведь все мы знаем, что правильно заданное направление (или вопрос) позволяет решить задачу уже на автоматизме.
Сейчас в этом разделе уже 20 вопросов, начиная от GCD и заканчивая async/await. А в разделе с вопросами на чтение кода ещё больше.
Каждая тема подкреплена материалами для изучения, с которых следует начать подготовку.
Скоро будет дополнительный анонс по развитию контента, рекомендую подписаться заранее, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Веб-распространение приложений для iOS в ЕС уже доступно
Ранее Apple анонсировали эту возможность для Европы при выполнении определённых требований (ждём и для стран СНГ?) .
🎆 А с сегодняшнего дня фича уже доступна в iOS 17.5 (beta 2) и в App Store Connect для разработчиков, про требования можно почитать здесь.
😃 iOS Dev
Ранее Apple анонсировали эту возможность для Европы при выполнении определённых требований (ждём и для стран СНГ?) .
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование собственного голоса в приложении iOS
Функция преобразования текста в речь существует на iOS уже более десяти лет, но в iOS 17 Apple добавила несколько новых функций, которые могут стать интересным дополнением к вашему приложению.
Конечно, для этого понадобится
📖 В этой статье рассказано, как использовать AVSpeechSynthesizer, чтобы подключить системные, новые, и даже «персональный голос», созданный с помощью ИИ!
😃 iOS Dev
Функция преобразования текста в речь существует на iOS уже более десяти лет, но в iOS 17 Apple добавила несколько новых функций, которые могут стать интересным дополнением к вашему приложению.
Конечно, для этого понадобится
AVSpeechSynthesizer
. Кстати, список novelty-голосов можно посмотреть вот тут (Accessibility > Live Speech > Voices, посмотрите как-нибудь, если не видели ранее).📖 В этой статье рассказано, как использовать AVSpeechSynthesizer, чтобы подключить системные, новые, и даже «персональный голос», созданный с помощью ИИ!
Please open Telegram to view this post
VIEW IN TELEGRAM
Четыре полезных сервиса для работы с JSON в Swift
1️⃣ quicktype.io — удобный сервис для создания моделей и сериализации JSON (не только на Swift) с кучей опций и параметров.
2️⃣ SwiftyJSON — популярнейший репозиторий на GitHub для упрощения работы с JSON (22 000 звёзд).
3️⃣ jsonformatter.org — валидатор и конвертер для JSON.
4️⃣ jsoncrack.com — наглядная визуализация структуры json (есть ещё вот сервис, но он временно недоступен).
😃 iOS Dev
1️⃣ quicktype.io — удобный сервис для создания моделей и сериализации JSON (не только на Swift) с кучей опций и параметров.
2️⃣ SwiftyJSON — популярнейший репозиторий на GitHub для упрощения работы с JSON (22 000 звёзд).
3️⃣ jsonformatter.org — валидатор и конвертер для JSON.
4️⃣ jsoncrack.com — наглядная визуализация структуры json (есть ещё вот сервис, но он временно недоступен).
Please open Telegram to view this post
VIEW IN TELEGRAM