Welcome to another issue!
Hey guys! ๐
Here are the remaining events and conferences for developers in 2024:
- NSSpain XII 2024 September 18-19th 2024 in Spain (Logroรฑo) ๐ช๐ธ
- Swift Connection September 23rdโ24th 2024 in France (Paris) ๐ซ๐ท
- Server-Side Swift Conference September 26thโ27th 2024 in UK (London) ๐ฌ๐ง
- SwiftLeeds October 8th-9th 2024 in UK (Leeds) ๐ฌ๐ง
- PragmaConf October 29th-30th 2024 in Italy (Bologna) ๐ฎ๐น
- Do iOS 2024 November 12th-14th 2024 in Netherlands (Amsterdam) ๐ณ๐ฑ
I plan to have a dedicated section inside the newsletter for conferences and events starting in 2025.
Let me know if you have any suggestions for what else to include in each newsletter.
I appreciate your support and let's check what I found for you today! ๐
Coding
RUNWAY
Do your mobile releases involve a near-endless pile of manual tasks and different people repeatedly asking each other โWhatโs the status of the release?โ
Donโt just roll over and accept this death by a thousand branch cuts.
How to automatically detect memory leaks on CI/CD using UI tests
Check how you can automatically detect memory leaks in iOS apps during CI/CD using UI tests and the enablePerformanceTestsDiagnostics flag.
The process involves writing a UI test, generating a memory graph, and parsing the results. This can be integrated into CI/CD pipelines for improved app stability and performance.
Bad practice to create a StateObject
Another great post by Vincent Pradeilles that highlights a potential issue when using the StateObject property wrapper in SwiftUI.
The tip is about to avoid storing the initialization code in an intermediate variable. Pass it directly to the StateObject initializer to ensure correct behavior and prevent unintended side effects.
visionOS
Create with Swift at iOSDevUK
This post summarizes key takeaways from the iOSDevUK conference, focusing on workshops and presentations related to Apple Vision Pro development and app icon design.
Takeaways:
- Participants learned about the Vision Pro platform, its capabilities, and best practices for developing apps.
- A project showcasing 2D and 3D interaction techniques for visionOS development is available for download.
- Flora Damiano discussed the importance of app icon design and provided insights on creating effective icons.
Apple News
Win-back offers for auto-renewable subscriptions are now available
Apple has introduced win-back offers for auto-renewable subscriptions in App Store Connect. These offers allow developers to reach out to previous subscribers and entice them to resubscribe. Eligible customers will be able to discover win-back offers this fall.
Key features of win-back offers:
- Developers can create tailored offers.
- Displayed in various places on the App Store and through direct links
- Easily set up win-back offers in App Store Connect.
Design
GitHub contribution graph with Swift Charts
This tutorial teaches how to create a GitHub contribution graph using SwiftUI and Swift Charts. Key steps include defining a data structure for contributions, creating a chart with RectangleMark, customizing appearance with modifiers, adding a legend, and customizing axes. Explore Awesome Swift Charts for more resources.
Other Cool Stuff
Cross-Platform Swift: Building a Swift app for the browser
Blog post explores the possibility of building web applications using Swift. By leveraging WebAssembly, a technology that allows running code written in various languages in the browser, Swift developers can now create cross-platform web apps.
It shows the process of setting up a Swift project for web development, using JavaScriptKit to interact with the browser's DOM, and utilizing the Swift Navigation library for efficient data management. Although building web apps with Swift requires additional effort compared to native development, it offers the benefit of code reusability across different platforms.
How to add a paywall with a single line of SwiftUI code
Learn how to easily add in-app purchases to your SwiftUI app using the built-in SubscriptionStoreView. With just a single line of code, you can create a fully functional paywall that automatically adapts to changes in your in-app purchases.
SubscriptionStoreView is limited to displaying in-app purchases within the same subscription group. For more complex scenarios or older iOS versions, consider using third-party solutions like RevenueCat Paywalls.
Tools
Retcon
Retcon is a Git client for rewriting history extremely fast, through a unique UI designed for speed and clarity.
Why you will like it:
- Drag-and-drop to rearrange commits, with instant results.
- Undo anything with โZ, from a squash to a push.
- See conflicts in full context (e.g. which commits are applied next?).
- Never stop to stash/unstash changes.
- Reword commits in-place, with no step 2.
- Both faster and nicer to use than any GUI or CLI tool.
Promo code: IOSDEVTOOLS (10% off of first year of yearly subscription).
If you would like to get more discounts for various tools subscribe to iOS Dev Tools Newsletter
In Case You Missed It
Swift Build Times and Module Verification
In this article you will find out how the author optimized build times for the Secrets app by disabling module verification. Module verification can significantly slow down builds, but it can also help identify and fix module issues. The author recommends disabling module verification for debug builds to improve development efficiency.
Videos
Explore WorkoutKit framework on iOS 17 and watchOS 10
WorkoutKit framework for building watchOS apps with multi-device support.
Video covers creating and managing workouts, mirroring sessions between iPhone and Apple Watch, and using HealthKit for data tracking. Key features include custom workouts, scheduling, and integration with external sensors.
Freebies
iOS Architect Crash Course
This free online crash course is designed to help mid/senior iOS developers elevate their skills and become complete senior developers. It covers advanced architecture, career advancement, and networking. Gain skills, knowledge, and lifetime access.
It also covers common mistakes to prevent iOS developers from reaching senior levels and refactoring legacy code into clean and maintainable architecture. Its practical online course is available from September 23rd to 29th.