Если вдруг пропустили, то недавно компания Apple выпустила анонс, где указала, что все апдейты приложений с 1 мая обязаны «объяснить» использование той или иной API в своем проекте. И все third-party libraries в вашем проекте также должны это сделать.
Подробнее читайте в посте и переходите по вложенным ссылкам.
https://developer.apple.com/news/?id=3d8a9yyh
Подробнее читайте в посте и переходите по вложенным ссылкам.
https://developer.apple.com/news/?id=3d8a9yyh
Apple
Privacy updates for App Store submissions - Latest News - Apple Developer
Developers are responsible for all code included in their apps. At WWDC23, we introduced new privacy manifests and signatures for commonly used third-party SDKs and announced that developers will need to declare approved reasons for using a set of APIs in…
Многие из вас (надеюсь) знают, что мы в Qonversion занимаемся всем, что связано с приложениями и сервисами, которые монетизируют свой продукт через in-app purchases.
Так вот у нас есть классные новости для стартапов и тех, кто только начинает развивать свое мобильное приложение.
Мы в Qonversion запустили программу, которая дает возможность получить бесплатно почти все самые классные фичи максимального тарифа, в том числе А/Б тесты и аналитику Apple Search Ads.
Подать заявку на стартап программу можно по этой ссылке!
По условиям все просто:
1. Нужно, чтобы приложение было уже активным и опубликованным в сторе
2. Выручка до $10k в месяц (MTR)
3. Вы должны быть новым клиентом Qonversion
Так вот у нас есть классные новости для стартапов и тех, кто только начинает развивать свое мобильное приложение.
Мы в Qonversion запустили программу, которая дает возможность получить бесплатно почти все самые классные фичи максимального тарифа, в том числе А/Б тесты и аналитику Apple Search Ads.
Подать заявку на стартап программу можно по этой ссылке!
По условиям все просто:
1. Нужно, чтобы приложение было уже активным и опубликованным в сторе
2. Выручка до $10k в месяц (MTR)
3. Вы должны быть новым клиентом Qonversion
Наверняка многие слышали про Test-Driven Development (тот самый TDD). Но вряд ли многие его используют. Так вот если вы вдруг захотите его начать использовать, или вам просто интересно чуть подробнее разобраться в этой теме, то вот неплохой материал с примерами!
https://www.avanderlee.com/workflow/test-driven-development-tdd-for-bug-fixes-in-swift/
https://www.avanderlee.com/workflow/test-driven-development-tdd-for-bug-fixes-in-swift/
SwiftLee
Test-Driven Development (TDD) for bug fixes in Swift
Test-driven development increases code quality, test code coverage, and codebase confidence. You'll prevent bugs from returning.
What’s new in Swift 5.10?
https://www.donnywals.com/everything-you-need-to-know-about-swift-5-10/
https://www.donnywals.com/everything-you-need-to-know-about-swift-5-10/
Donny Wals
Everything you need to know about Swift 5.10 – Donny Wals
The long awaited iOS 17.4 and iPadOS 17.4 have just been released which means that we could slowly but surely start seeing alternative app stores to appear if you’re an EU iOS user. Alongside the 17.4…
iOS.Devs
Если вдруг пропустили, то недавно компания Apple выпустила анонс, где указала, что все апдейты приложений с 1 мая обязаны «объяснить» использование той или иной API в своем проекте. И все third-party libraries в вашем проекте также должны это сделать. Подробнее…
А вот и интересный (или странный?) кейс про новую политику и UserDefaults! Хотя в официальной доке об этом есть упоминание, конечно.
https://mastodon.social/@chockenberry/112095424613859371
https://mastodon.social/@chockenberry/112095424613859371
Mastodon
Craig Hockenberry (@[email protected])
Attached: 1 image
If you're like 99.9999% of other developers, you're using UserDefaults in an app.
And because you do that, you'll see this message when you upload your next build to the App Store.
Here's what to do about it…
If you're like 99.9999% of other developers, you're using UserDefaults in an app.
And because you do that, you'll see this message when you upload your next build to the App Store.
Here's what to do about it…
Классная статья, где автор рассказывает о том, что постоянство и последовательность в сайд проджектах всегда очень важны и приносят хороший результат! Это, кажется, и не было секретом, но тут в статье есть конкретные примеры и даже графики!
А сама статья на две минуты чтения, так что можно быстро ознакомиться 👍
https://www.avanderlee.com/optimization/the-power-of-consistency-in-side-projects/
А сама статья на две минуты чтения, так что можно быстро ознакомиться 👍
https://www.avanderlee.com/optimization/the-power-of-consistency-in-side-projects/
SwiftLee
The power of consistency in side projects
Consistency and focus result in compounding growth. Revenue will increase, daily active users will reach all time highs.
Если вы используете SwiftUI, то наверняка используете и
https://www.swiftwithvincent.com/blog/be-careful-when-using-ontapgesture
.onTapGesture()
. Вот статья, где автор говорит, что с этим нужно быть осторожнее. И приводит несколько примеров, где это может привести к проблемам 🤔https://www.swiftwithvincent.com/blog/be-careful-when-using-ontapgesture
Swift with Vincent
Be careful when using .onTapGesture() — Swift with Vincent
You’re more of a video kind of person? I’ve got you covered! Here’s a video with the same content than this article 🍿
Очередной хак о том, как ускорить время билда в Swift проекте. На этот раз при помощи
Конечно, любое искорение билда будет не лишним, но хз насколько много профита с этого можно получить.
Ну и стоит обратить внимание на одно предложение из статьи: Forward-declaring Swift functions allow you to do all sorts of crazy things, but remember, this is not an official feature of the language.
https://swiftrocks.com/using-silgenname-to-call-private-swift-code
@_silgen_name
. Конечно, любое искорение билда будет не лишним, но хз насколько много профита с этого можно получить.
Ну и стоит обратить внимание на одно предложение из статьи: Forward-declaring Swift functions allow you to do all sorts of crazy things, but remember, this is not an official feature of the language.
https://swiftrocks.com/using-silgenname-to-call-private-swift-code
Swiftrocks
Using @_silgen_name to forward declare functions in Swift and improve build times
Let me start this post with a disclaimer. The trick I'm going to show here is quite powerful, but much like every other underscored attribute in Swift, this is something you should not mess with unless you know exactly what you're doing.
Если вам вдруг очень нужно было на SwiftUI научиться ловить нажатия разных кнопок на клавиатуре по типу return/shift/и так далее, то вот материал об этом ⌨️
Больше актуально для разработки приложений под iPad, наверное, но вдруг и для iPhone вам нужно!
https://www.avanderlee.com/swiftui/key-press-events-detection/
Больше актуально для разработки приложений под iPad, наверное, но вдруг и для iPhone вам нужно!
https://www.avanderlee.com/swiftui/key-press-events-detection/
SwiftLee
Key press events detection in SwiftUI
Listen to key press events, either specific or a set of keys. You can detect modifiers, as well as phases like up, down, or repeat.
Если вы используете DocC, то уже, наверное, знаете насколько он хорош.
Но в Xcode 15 он стал даже еще лучше.
Одно из основных изменений - теперь DocC умеет правильно показывать и давать ссылки на сущности, которые вы расширяете через Extension. Полностью правильно обработанные блоки с возможностью клика и перехода на детальную информацию по ним.
В общем если еще не используете DocC, то хотя бы попробуйте. Очень классная вещь! 👍
https://danielsaidi.com/blog/2024/03/21/how-to-link-to-native-type-extensions-in-docc
Но в Xcode 15 он стал даже еще лучше.
Одно из основных изменений - теперь DocC умеет правильно показывать и давать ссылки на сущности, которые вы расширяете через Extension. Полностью правильно обработанные блоки с возможностью клика и перехода на детальную информацию по ним.
В общем если еще не используете DocC, то хотя бы попробуйте. Очень классная вещь! 👍
https://danielsaidi.com/blog/2024/03/21/how-to-link-to-native-type-extensions-in-docc
Очень интересный материал про perfromance check-и.
Автор предлагает библиотечку для написания бенчмарков, а потом это всё можно прикрутить к пул-реквестам и всегда следить за тем, не ухудшает ли ваш новый код производительность, не стал ли больше грузить cpu, как обстоят дела с потоками, памятью и так далее?
В общем на бумаге выглядит достаточно интересно. На деле пока не знаю 🤷
Ну и если это кому-то важно, то это опенсорс библиотечка! 👍
https://www.swift.org/blog/benchmarks/
Автор предлагает библиотечку для написания бенчмарков, а потом это всё можно прикрутить к пул-реквестам и всегда следить за тем, не ухудшает ли ваш новый код производительность, не стал ли больше грузить cpu, как обстоят дела с потоками, памятью и так далее?
В общем на бумаге выглядит достаточно интересно. На деле пока не знаю 🤷
Ну и если это кому-то важно, то это опенсорс библиотечка! 👍
https://www.swift.org/blog/benchmarks/
Swift.org
Introducing the Benchmark Package: Complementing Unit Tests with Performance Checks
In the world of software development, the old adage “make it work, make it right, make it fast” serves as a guiding principle for creating robust, efficient applications. This journey starts with ensuring that our code functions as intended, a task where…
Просто невероятный по качеству, объему и уникальности материал! 😱
Про текстовые редакторы от Apple!
Всё супер детально, красиво, с примерами, объяснением и вообще всем, чем возможно, о том, как устроены эти редакторы, как работают и так далее.
Большой объем, как раз за выходные можно осилить. А еще можете почитать первую часть этой статьи, ссылка внутри!
https://papereditor.app/internals
Про текстовые редакторы от Apple!
Всё супер детально, красиво, с примерами, объяснением и вообще всем, чем возможно, о том, как устроены эти редакторы, как работают и так далее.
Большой объем, как раз за выходные можно осилить. А еще можете почитать первую часть этой статьи, ссылка внутри!
https://papereditor.app/internals
Paper
Nerdy internals of an Apple text editor
Fascinating engineering details behind Paper.
Вы, наверное, уже в курсе, что Apple вносит (не по своей воле, конечно) изменения в процесс дистрибьюции (и не только) приложений в EU регионе?! Так вот теперь можно распространять приложения для EU региона не только через AppStore, а еще и покупки можно делать в обход Apple In-App purchases 💰
Вот статья, где можно прочитать ревью по всем изменениям и, возможно, решить, что для вас лучше, если у вас есть приложения, которым такая опция доступна 👍
Моё мнение пока неоднозначное на этот счет. С одной стороны круто, с другой непонятно, какие проблемы с другими сторами будут и процессингом покупок. Нужно хорошо всё взвесить и посчитать для конкретного приложения (в статье есть ссылка на эпловские инструменты, которые помогут в расчетах). Возможно, кому-то покажется более удобным остаться на стабильно работающих инструментах от Apple, что в целом пока выглядит достаточно неплохим сценарием. Плюс Apple делают небольшие оговорку, что потенциально новые фичи iOS могут не сразу быть доступны для приложений в альтернативных сторах, но конкретики пока нет.
В общем предстоит интересное время и интересные наблюдения за всеми этими новыми способами дистрибьюции и заработка 🤔
https://qonversion.io/blog/apples-big-changes-for-eu-app-developers-what-you-need-to-know
Вот статья, где можно прочитать ревью по всем изменениям и, возможно, решить, что для вас лучше, если у вас есть приложения, которым такая опция доступна 👍
Моё мнение пока неоднозначное на этот счет. С одной стороны круто, с другой непонятно, какие проблемы с другими сторами будут и процессингом покупок. Нужно хорошо всё взвесить и посчитать для конкретного приложения (в статье есть ссылка на эпловские инструменты, которые помогут в расчетах). Возможно, кому-то покажется более удобным остаться на стабильно работающих инструментах от Apple, что в целом пока выглядит достаточно неплохим сценарием. Плюс Apple делают небольшие оговорку, что потенциально новые фичи iOS могут не сразу быть доступны для приложений в альтернативных сторах, но конкретики пока нет.
В общем предстоит интересное время и интересные наблюдения за всеми этими новыми способами дистрибьюции и заработка 🤔
https://qonversion.io/blog/apples-big-changes-for-eu-app-developers-what-you-need-to-know
qonversion.io
Apple's DMA Rules for EU App Developers
iOS, Safari, and the App Store developers in the European Union (EU) now have to keep up with new rules - Digital Markets Act (DMA).
Очередной хороший обучающий материал с примерами.
На этот раз про
Автор сам говорит, что хоть протокол и кажется простым и понятным, есть несколько кейсов, в которых можете поймать баг. Показывает и объясняет подробно 👍
https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/
На этот раз про
Identifiable
протокол в SwiftUI
!Автор сам говорит, что хоть протокол и кажется простым и понятным, есть несколько кейсов, в которых можете поймать баг. Показывает и объясняет подробно 👍
https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/
SwiftLee
Identifiable protocol in SwiftUI explained with code examples
The Identifiable protocol adds identity to your objects and comes with a default implementation using ObjectIdentifier for classes.
Если вы любитель повозиться со всем новым, то вам, наверное, понравится эта статья.
Про «пересоздание» search bar-а в Vision OS.
Очень просто, понятно и в деталях 👍
https://christianselig.com/2024/03/recreating-visionos-search-bar/
Про «пересоздание» search bar-а в Vision OS.
Очень просто, понятно и в деталях 👍
https://christianselig.com/2024/03/recreating-visionos-search-bar/
Christianselig
Recreating Apple's beautiful visionOS search bar
Many of Apple’s own visionOS apps, like Music, Safari, and Apple TV, have a handy search bar front and center on the window so you can easily search through your content. Oddly, as of visionOS 1.1, replicating this visually as a developer using SwiftUI or…
Вышло очередное обновление Yandex Mobile Ads SDK 7.
Одно из самых приятных нововведений – для iOS добавили возможность устанавливать приложение без перехода в App Store 👍
По классике добавили новых механик, улучшили существующие. Для Android добавили дебаг панель и новый формат “Лента” для приложений со скроллингом, с ним можно будет размещать сразу десятки разных объявлений в одном блоке. Ждем то же самое для iOS!
Подробнее по ссылке!
Одно из самых приятных нововведений – для iOS добавили возможность устанавливать приложение без перехода в App Store 👍
По классике добавили новых механик, улучшили существующие. Для Android добавили дебаг панель и новый формат “Лента” для приложений со скроллингом, с ним можно будет размещать сразу десятки разных объявлений в одном блоке. Ждем то же самое для iOS!
Подробнее по ссылке!
Про статистическую значимость и её важность в проведении тестов в приложении.
Это точно не самый профильный и глубокий материал на эту тему, но если хотите коротко и понятно ознакомиться, то материал подойдет 👍
https://www.avanderlee.com/general/statistical-significance-app-experiments/
Это точно не самый профильный и глубокий материал на эту тему, но если хотите коротко и понятно ознакомиться, то материал подойдет 👍
https://www.avanderlee.com/general/statistical-significance-app-experiments/
SwiftLee
Statistical significance and its importance with app experiments
Statistical significance prevents you from making false positive conclusions in app experiments that could cause revenue decreases.
Если всегда хотели побывать на WWDC, но пока такой возможности не представилось, то ловите прикольный видео-контент от Paul Hudson про прошлогодний WWDC. Такой своего рода бекстейдж, который помогает погрузиться в атмосферу и понять насколько там круто! 🔥
https://www.youtube.com/watch?v=SneL19Jp1iE
https://www.youtube.com/watch?v=SneL19Jp1iE
YouTube
What it's like attending WWDC in Cupertino
At WWDC23 I recorded a lots of videos as I met friends, visited Apple Park, attended community events, and more, so now you can see exactly what it's like attending WWDC in person. So, if you're in town for WWDC this year, hopefully you can come prepared!…
Совсем небольшой, но очень полезный, особенно для новичков, материал про Dynamic и Static dispatch в Swift!
Об этом обязательно надо, потому что как минимум на собеседовании точно спросят. И на практике постоянно встречается! 👍
На самом деле и про другие dispatch-и спросят, но пока давайте с этими разберемся.
https://antran.app/2024/dynamic_static_dispatch
Об этом обязательно надо, потому что как минимум на собеседовании точно спросят. И на практике постоянно встречается! 👍
На самом деле и про другие dispatch-и спросят, но пока давайте с этими разберемся.
https://antran.app/2024/dynamic_static_dispatch
Продолжая вчерашню тему хочу поделиться большим и подробным материалом про большое количество dispatch-ей, которые есть в Swift!
Тут уже прямо совсем подробно про разные типы, про скорость работы, перфоманс характеристики и так далее. Если хочется совсем погрузиться в подробности, то этот материал отлично подойдет!
https://jacobbartlett.substack.com/p/compiler-cocaine-the-swift-method
Тут уже прямо совсем подробно про разные типы, про скорость работы, перфоманс характеристики и так далее. Если хочется совсем погрузиться в подробности, то этот материал отлично подойдет!
https://jacobbartlett.substack.com/p/compiler-cocaine-the-swift-method
Jacobstechtavern
The Swift Method Dispatch Deep Dive
And the compiler's endless quest to speed up your code