Apple всё ещё следит за вами. Без вашего согласия
В текущей версии macOS Monterey, при каждом обновлении системы на системе, содержащей чип M1, такой же как и все новые блестящие/быстрые маки с ARM ("Apple Silicon"), процесс обновления обращается в Apple, чтобы получить специальную подпись загрузки, известную на жаргоне Apple как "билет" (он же ticket).
Это делается абсолютно незашифрованным способом, через стандартный открытый 80 порт HTTP (точно такой же протокол, который запрещен для использования сторонними разработчиками приложений в App Store при передаче приватных данных, таких как уникальные идентификаторы, служащие PII) на хост
А какую в себе опасность это несёт - поделился здесь.
В текущей версии macOS Monterey, при каждом обновлении системы на системе, содержащей чип M1, такой же как и все новые блестящие/быстрые маки с ARM ("Apple Silicon"), процесс обновления обращается в Apple, чтобы получить специальную подпись загрузки, известную на жаргоне Apple как "билет" (он же ticket).
Это делается абсолютно незашифрованным способом, через стандартный открытый 80 порт HTTP (точно такой же протокол, который запрещен для использования сторонними разработчиками приложений в App Store при передаче приватных данных, таких как уникальные идентификаторы, служащие PII) на хост
gs.apple.com.А какую в себе опасность это несёт - поделился здесь.
🤯6👍3👏1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Мне сложно в это поверить, но мы преодолели рубеж в 500 человек 🥳🥳🥳
Для меня это очень важно, и я хочу сказать спасибо каждому из вас за то, что вы здесь.
Как и прежде, я продолжу писать о разных интересных вещах из нашей с вами области разработки.
Кроме этого, конечно, продолжу делиться кодом (как говорится, лучше раз попробовать, чем 100 раз увидеть), а также какими-то необычными подходами.
Кстати, если вам понравилась анимация, то она сделана не в стороннем редакторе, а на Swift, а сам проект доступен здесь (в качестве картинки Spark можете использовать любую.
Верю, что кому-то из вас пригодятся эти знания, а про сам CAEmitterLayer постараюсь потом написать отдельно.
Для меня это очень важно, и я хочу сказать спасибо каждому из вас за то, что вы здесь.
Как и прежде, я продолжу писать о разных интересных вещах из нашей с вами области разработки.
Кроме этого, конечно, продолжу делиться кодом (как говорится, лучше раз попробовать, чем 100 раз увидеть), а также какими-то необычными подходами.
Кстати, если вам понравилась анимация, то она сделана не в стороннем редакторе, а на Swift, а сам проект доступен здесь (в качестве картинки Spark можете использовать любую.
Верю, что кому-то из вас пригодятся эти знания, а про сам CAEmitterLayer постараюсь потом написать отдельно.
❤19👍9🔥5🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Необычная анимация, эмулирующая поведение Wallet
Разработчик постарался полностью повторить поведение эффекта для Apple Pay без сторонних зависимостей.
Используется CMMotionManager, поэтому особенно круто это анимация выглядит в движении.
Впрочем, попробуйте сами собрать проект и понаклонять девайс.
#animation
Разработчик постарался полностью повторить поведение эффекта для Apple Pay без сторонних зависимостей.
Используется CMMotionManager, поэтому особенно круто это анимация выглядит в движении.
Впрочем, попробуйте сами собрать проект и понаклонять девайс.
#animation
🔥8👍2❤1
Rough Swift
Решение на SwiftUI, которое позволяет легко создавать фигуры в стиле рисованного от руки, эскизного, комического стиля.
— Поддержка iOS, tvOS.
— Поддержка всех форм: line, rectangle, circle, ellipse, linear path, arc, curve, polygon, noscript path.
— Генерация UIBezierPath для CAShapeLayer.
— Простая кастомизация с помощью опций.
— Удобное использование.
— Понятные функции рисования.
Посмотреть примеры и скачать можно на гитхабе.
#opensource
Решение на SwiftUI, которое позволяет легко создавать фигуры в стиле рисованного от руки, эскизного, комического стиля.
— Поддержка iOS, tvOS.
— Поддержка всех форм: line, rectangle, circle, ellipse, linear path, arc, curve, polygon, noscript path.
— Генерация UIBezierPath для CAShapeLayer.
— Простая кастомизация с помощью опций.
— Удобное использование.
— Понятные функции рисования.
Посмотреть примеры и скачать можно на гитхабе.
#opensource
👍4🔥2🤩1
iOS Dev
Photo
Каким будет результат выполнения этого кода?
Anonymous Quiz
17%
-9223372036854775808
3%
0
12%
9223372036854775807
7%
1
23%
Код не скомпилируется
39%
Будет ошибка в рантайме
👏14🔥3👍1
Самые популярные функции высшего порядка - map, filter и reduce.
Мы все используем их, так как думаем, что синтаксис намного лучше и писать их даже быстрее, чем старый способ for-in loop.
Но так ли это на самом деле?
Задумывались ли вы когда-нибудь о производительности этих встроенных функций?
Они встроенные, поэтому, естественно, они должны быть лучше, правда же?
😎Спойлер — не всё так однозначно!
🛠Автор приводит свои мысли и расчёты в этой статье.
Мы все используем их, так как думаем, что синтаксис намного лучше и писать их даже быстрее, чем старый способ for-in loop.
Но так ли это на самом деле?
Задумывались ли вы когда-нибудь о производительности этих встроенных функций?
Они встроенные, поэтому, естественно, они должны быть лучше, правда же?
😎Спойлер — не всё так однозначно!
🛠Автор приводит свои мысли и расчёты в этой статье.
👍11🔥2👏1
Руководство по использованию willSet и didSet, или Property Observers за три минуты
Property observers созданы для того, чтобы разработчикам не нужно было писать код каждый раз, когда значение свойства или переменной изменяется.
📖В супер-короткой статье привёл примеры для их использования.
😎Понимаю, что скорее всего многие уже давно используют их, или даже перестали использовать. Но надеюсь, что для новичков эта информация окажется полезной.
Property observers созданы для того, чтобы разработчикам не нужно было писать код каждый раз, когда значение свойства или переменной изменяется.
📖В супер-короткой статье привёл примеры для их использования.
😎Понимаю, что скорее всего многие уже давно используют их, или даже перестали использовать. Но надеюсь, что для новичков эта информация окажется полезной.
👍13❤5👏1
Если вы видите это сообщение, и рука непроизвольно потянулась скачивать Xcode, то подождите!
👉 Перейдите сюда:
👉 А потом вот на этот репозиторий, который регулярно обновляется.
⭐7.5k — это не шутки!
🛠 Можно скачать файлы самому, а можно поступить проще и воспользоваться скриптом, который там для этого и лежит.
🤔 Вероятно, Xcode понадобится переоткрыть. Но при условии, что файлы нужны здесь и сейчас, а обновлять Xcode пока не входит в ваши планы, решение должно подойти.
👉 Перейдите сюда:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport👉 А потом вот на этот репозиторий, который регулярно обновляется.
⭐7.5k — это не шутки!
🛠 Можно скачать файлы самому, а можно поступить проще и воспользоваться скриптом, который там для этого и лежит.
🤔 Вероятно, Xcode понадобится переоткрыть. Но при условии, что файлы нужны здесь и сейчас, а обновлять Xcode пока не входит в ваши планы, решение должно подойти.
👏10👍4
iOS Dev
Самые популярные функции высшего порядка - map, filter и reduce. Мы все используем их, так как думаем, что синтаксис намного лучше и писать их даже быстрее, чем старый способ for-in loop. Но так ли это на самом деле? Задумывались ли вы когда-нибудь о…
📖 Теперь про сравнение map, filter и reduce с for-in можно почитать и на хабре.
👏8👍2
Sensor Tower опубликовал отчёт по использованию мобильных приложений
Общий вывод
Глобальный рост доходов от приложений в 1 квартале 2022 года не изменился, в то время как использование выросло почти на 5%.
Сохраняется двухкратный перевес доходов в App Store по сравнению с Google Play (вдруг вы решили, стоит ли менять платформу разработки).
Вполне ожидаемый рост категории с приложениями, связанными с медициной.
По сравнению с двузначным ростом, наблюдавшимся в обоих магазинах в 2021 году, в первом квартале 2022 года есть небольшое замедление.
Это свидетельствует о нормализации рынка после резкого роста во время COVID-19, а также о влиянии нескольких факторов, например, повышения стоимости жизни.
Общий вывод
Глобальный рост доходов от приложений в 1 квартале 2022 года не изменился, в то время как использование выросло почти на 5%.
Сохраняется двухкратный перевес доходов в App Store по сравнению с Google Play (вдруг вы решили, стоит ли менять платформу разработки).
Вполне ожидаемый рост категории с приложениями, связанными с медициной.
По сравнению с двузначным ростом, наблюдавшимся в обоих магазинах в 2021 году, в первом квартале 2022 года есть небольшое замедление.
Это свидетельствует о нормализации рынка после резкого роста во время COVID-19, а также о влиянии нескольких факторов, например, повышения стоимости жизни.
👍10
Случайности не случайны?
Вы все и так знаете, что алгоритмы в нашей жизни — неотъемлемая составляющая. Скорее всего замечали, что иногда, сказав что-либо вслух, потом в каком-то приложении вы видите объявление именно про это. В последних мажорных обновлениях iOS даже появились индикаторы, которые говорят о том, что включена камера, например, или микрофон. Для Android ситуация не то чтобы лучше.
Когда мы выбираем фильм, например, мы ориентируемся также на алгоритмы. Оценки на кинопоиске, оценки на imdb, может даже запускаем что-то вроде «подобрать фильм по вкусу». А если заказываем еду — то смотрим на то, что совпадает с нашими предпочтениями, и уже потом делаем выбор.
Конечно, это нормально, но что если мы что-то упускаем?
Что, если существует и какой-то другой мир, за пределами рекомендаций? Он не будет лучше или хуже, он будет иным, не тем, что вы ожидали.
Что, если вместо того, чтобы пойти на очередную премьеру в кинотеатре — просто прогуляться? Или выбрать заведение не с 5 звездами, а посмотреть, что там готовят в паре кварталов отсюда в случайном месте?
Здесь не будет выводов, и уж тем более руководства к действию, но я хотел бы, чтобы вы попробовали задать вопрос из заголовка самим себе.
Интересное рассуждение об этом можно послушать в одной из лекций TED на английском или на русском языке.
Вы все и так знаете, что алгоритмы в нашей жизни — неотъемлемая составляющая. Скорее всего замечали, что иногда, сказав что-либо вслух, потом в каком-то приложении вы видите объявление именно про это. В последних мажорных обновлениях iOS даже появились индикаторы, которые говорят о том, что включена камера, например, или микрофон. Для Android ситуация не то чтобы лучше.
Когда мы выбираем фильм, например, мы ориентируемся также на алгоритмы. Оценки на кинопоиске, оценки на imdb, может даже запускаем что-то вроде «подобрать фильм по вкусу». А если заказываем еду — то смотрим на то, что совпадает с нашими предпочтениями, и уже потом делаем выбор.
Конечно, это нормально, но что если мы что-то упускаем?
Что, если существует и какой-то другой мир, за пределами рекомендаций? Он не будет лучше или хуже, он будет иным, не тем, что вы ожидали.
Что, если вместо того, чтобы пойти на очередную премьеру в кинотеатре — просто прогуляться? Или выбрать заведение не с 5 звездами, а посмотреть, что там готовят в паре кварталов отсюда в случайном месте?
Здесь не будет выводов, и уж тем более руководства к действию, но я хотел бы, чтобы вы попробовали задать вопрос из заголовка самим себе.
Интересное рассуждение об этом можно послушать в одной из лекций TED на английском или на русском языке.
🔥7👍4❤2