1. Introduction
2. Preparing Your App for Apple Intelligence
3. Chasing Fun: Creating a Career You Love
4. So, You Think You Know Swift?
5. Create a speaker voice with speech synthesizer
6. Best-in-class Pull Request
7. Test your apps! How testing can make you more efficient and what are best practices for maintainable tests!
8. Lightning: Interactive transitions in SwiftUI
9. The Date-ing Game
Once again, a representation of our iOS team has participated in another edition of NSSpain. The most important annual event for the Apple community in Spain takes place in Logroño and features internationally renowned speakers.
This year, 2024, included the presence of Felix Krause, the founder of Fastlane, Michael Flarup, creator of The iOS App Icon Book and The macOS App Icon Book, and Krzysztof Zablocki, creator of Foldify, among others.
The variety and quality of the content in this edition have been very high. We have seen live analyses of the security of the most popular password managers for macOS, how to train and manage Machine Learning models, uses of Metal in SwiftUI, and how to apply accessibility in VisionPro.
Here are the most notable highlights for this year:
Preparing Your App for Apple Intelligence
With Matthew Cassinelli, we learned the importance of including App Intents and Shortcuts in our apps to make the most of the new controls introduced for iOS 18, Siri, and the control center, which allows for custom Shortcuts to be included in our apps’ functionalities. Additionally, he emphasizes that, considering the progressive incorporation of Apple Intelligence, we can start developing shortcuts in anticipation of these incorporations.
Chasing Fun: Creating a Career You Love
The inspiring Michael Flarup shared the secrets of his successful career, including the challenges and how to overcome them. He presented the entrepreneurial case he led: Thermodo, a device that connects to the iPhone to measure the outside temperature and display it in its app Thermo. He talked about the creation process of his well-known books on Apple App Icons, as well as his latest project: Dinolords (available on the Steam wishlist), an innovative game from his video game studio.
So, You Think You Know Swift?
A very enlightening conference was given by Nick Lockwood. He showed us that we don’t use all the tools Swift provides, which could save us many unnecessary lines of code and headaches. During his talk, he compared conventional uses of for loops with more efficient ways to do it without having to check the nullability of variables in separate statements, as well as enums, switch cases, if lets, among many others.
Create a Speaker Voice with Speech Synthesizer
Pinterest developer Maryam Fekri explained in her talk various functionalities of the voice synthesizer included in iPhone devices. She also highlighted its importance in terms of accessibility with different examples of apps that include this functionality. Additionally, since iOS 17 and thanks to AI, a new feature has been included to “map” our own voice and use it for dictation on our own iPhone, although this feature is not yet available in our language.
Best-in-class Pull Request
Another very interesting presentation was given by developer Danijela Vrzan, who explained the best practices to keep in mind when making a pull request. She showed us live examples that included a detailed description of the fixed bug, before-and-after videos, among other best practices. She also emphasized the importance of not making pull requests with too many changes, as it can be counterproductive and difficult to review.
Test Your Apps! How Testing Can Make You More Efficient and What Are Best Practices for Maintainable Tests!
The second day of NSSpain began with a talk by Krzysztof Zablocki. He discussed the benefits of testing our apps and how using Test-Driven Development (TDD) is a proactive approach to software quality. He shared that tests are crucial for long-term efficiency and code quality. When creating tests, it’s important to focus on behavior, not implementation details, and to write clear, focused, and maintainable tests (one assertion per test for easy readability). He also recommended using dependency injection and protocols for better testability. Finally, he explained that when introducing tests into legacy codebases, it’s best to do so gradually.
Lightning: Interactive Transitions in SwiftUI
Among the most interesting talks on the second day was Quentin Fasquel’s, where he discussed transitions between views in SwiftUI. He presented a series of examples using Matched Geometry Effects, Anchor Preference, which allows for Geometry Effect interpolation from iOS 13 onwards, and Custom Animations, which can interpolate any Animation but only from iOS 17 onwards.
The Date-ing Game
Ellen Shapiro explained in a very engaging way how we work with dates in iOS development. From the different ways to initialize a date to the various types of calendars available. She reviewed how to correctly use the components of a date and how to compose a date from them. It’s very interesting to understand why such a commonly used type like dates works the way it does.
But it wasn’t all work! Our team also had the opportunity to unwind and enjoy some wine and dinner in an excellent setting 🍷