iPhone 16, Setapp Mobile, Vapor5 in Swift and More
- #Swift
- #Xcode
• 4 min read
Hidden features of Xcode and highlights from the Apple Event. Accelerator program for Swift developers. Local app distribution on iOS. Major release for Vapor 5 and other iOS and macOS development news. I'm Oleksandr Bilous, an engineer at Setapp, and we're getting started!
Apple Event
On September 9th, Apple unveiled its latest lineup: the 16th generation iPhones, the new Apple Watch, and updated AirPods. The overall impression: the company is pushing big on software, but there are several exciting hardware updates. Apple Watch 10 now charges to 80% in just 30 minutes, the AirPods Max got new colors and feature USB-C compatibility. All iPhone 16 models received an Action Button and Camera control for quick access to camera, its settings, and recording management.
I’m eager to see how developers integrate the new APIs into their apps.
Setapp Mobile open beta
On September 17th, MacPaw officially launched the open beta of Setapp Mobile, and now everyone can download an alternative marketplace on their iPhone. Over 50 apps are already available. So if you are in the EU, you can already install Setapp Mobile.
What might you have missed in Xcode?
EditorConfig support in Xcode 16. No more worrying about text formatting when switching between projects. Activated by default, EditorConfig allows you to define code styles directly in a configuration file. Now in Xcode, you can easily customize the type and size of indents, tab width, newline at the end of the file, maximum line length, and removal of extra spaces. Just create a new file in the project directory, set up the parameters you need.
Learn more about EditorConfig in Xcode 16
Effortlessly organize code across files. Now, you can easily split code across files. Copy any code and paste it into the Project Navigator, and Xcode will automatically create a new file with the appropriate name. If something goes wrong with parsing, you can manually enter the name. This is especially useful when you move an extension to a separate file.
Compilation speed lifehack. Since Xcode 14.3, there's been an option called ENABLE_MODULE_VERIFIER
, which checks the framework for typical problems before distribution, such as missing header files and incorrect imports. However, this check can take several minutes. To avoid long waits during debug builds, it’s best to DISABLE this option. This can really save your time.
Learn more about Swift build times and module verification
Accelerator for Swift developers
Paul Hudson, founder of Hacking with Swift and the "100 Days of Swift/SwiftUI" courses, has unveiled a new accelerator for developers. This program includes educational materials, a curated collection of books, tutorials, and tasks suitable for all skill levels. It offers five difficulty levels, ranging from beginner tutorials to advanced topics for seasoned developers, including refactoring, scalable architecture, and project development roadmaps. This program is an excellent opportunity for anyone eager to enhance their knowledge and skills. I highly recommend joining!
Learn more about Swift Career Accelerator
Tophat tool
Shopify has introduced an open-source project, Tophat, for distributing mobile applications under iOS and Android, and has shared its internal development process. Shopify uses a technique called tophatting—manual testing of changes from a Pull Request in a new app version to ensure its correct function.
Unable to live without automation, Shopify engineers have created Tophat—a tool for installing builds on simulators and real devices. All you need is a local build file or a server link. For integration with CI, there are two options: you can specify a static URL for the latest app version; or generate dynamic URLs, as Shopify does through a URL-Scheme.
Learn more about Tophat
Vapor 5 + Structured Concurrency
Great news for all the fans of server-side development on Swift! In a major release, Vapor 5 wil be completely rewritten in Swift 6 with a transition to Structured Concurrency. A key change is the removal of EventLoopFuture from the API, making the code cleaner and more understandable.
Another major update is integration with the modern Swift ecosystem. The framework will introduce solutions such as HTTPTypes, SwiftFoundation, and Swift Arguments Parser, which will make it easier to interact with new tools.
The new HTTP Server will support gRPC, asynchronous streaming, and server-sent events, significantly expanding server development capabilities. For developer convenience, Vapor 5 will immediately offer tools for metric collection, logging, and tracing. It will also improve work with OpenAPI, allowing automatic generation of specifications from existing routes or vice versa—creating routes based on specifications.
Read more about the future of Vapor