Weekly Comment
On October 31, Apple held the shortest product launch in history. As expected, Apple released the MacBook Pro and iMac based on the M3 chip.
Based on the data, the M3 chip shows moderate improvement in the CPU aspect, but its GPU performance is outstanding, especially with hardware-level ray tracing support.
I speculate that the Apple Vision Pro to be released next year will likely use this M3 chip, which can not only further enhance the visual effects of Apple Vision Pro, but also help with battery life. To compete with the low price of Meta Quest 3, Apple must show sufficient performance advantages for Apple Vision Pro.
In addition to hardware specifications, my main concern about Apple Vision Pro comes from the imperfection of development tools. The progress of the SDK is slow, the promised Unity support has not yet been implemented, and the functions of Reality Composer Pro are far from meeting expectations. Overall, although Apple seems to have made some layout for the development ecosystem of Vision Pro, it is far from enough.
The 27-inch iMac still has not appeared, and Apple may have completely abandoned this product. If a large-size iMac will be launched in the future, I estimate that the size will exceed 32 inches.
Originals
How to Observe Data Changes in SwiftData Using Persistent History Tracking
When there are changes in the database, Persistent History Tracking will send notifications to the subscribers. Developers can use this opportunity to respond to modifications made to the same database, including other applications, widgets (in the same App Group), and batch processing tasks. Since SwiftData integrates support for Persistent History Tracking, there is no need to write additional code. Subscription notifications and transaction merges will be automatically handled by SwiftData.
However, in some cases, developers may want to manually respond to transactions tracked by Persistent History Tracking for more flexibility. This article will explain how to observe specific data changes through Persistent History Tracking in SwiftData.
Recent Selections
The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)
Unicode was first released in 1991 as a standard aimed at unifying all historical and current human languages for use on computers. Thirty years have passed, and Swift is still the only language among all mainstream languages that can correctly determine the length of ”🤦🏼♂️”. One reason for this is that Swift made support for Unicode one of its core features from the beginning. Another reason is that Unicode is updated annually, with changes in its specifications, requiring the language development teams to continuously invest effort in maintaining updates to the Unicode character set.
In this article, Nikita thoroughly introduces the basic knowledge of Unicode that programmers need to know in 2023. This is a very valuable article, and I strongly recommend every programmer to read it. It covers key concepts of Unicode, as well as issues to pay attention to in actual development.
The story of being rejected by AppStore for the reason of 4.3
For a developer, submitting their carefully developed application to the App Store only to be rejected for violating guideline 4.3 is far from a pleasant memory. Kiecooboi also encountered this issue when submitting his first app. Whether through the website or email appeals, the reason for rejection was the same: “shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers.” After multiple attempts, Kiecooboi finally had the opportunity to speak with the reviewer over the phone. Through the conversation, it was revealed that the issue was simply because the reviewer deemed the use of Twitter for support URLs inappropriate. After making the necessary changes, the app was successfully published. Kiecooboi documented this experience on Discord. With the author’s permission, I have shared this account on Twitter in the hopes that it may be helpful to others.
Swift, meet WinRT
The Windows Runtime (WinRT) is based on the Component Object Model (COM) API, which is designed to be accessed through language projections. Projections hide the details of COM and provide a more natural programming experience for a given language. The Browser Company has built a language projection tool for creating idiomatic Swift language bindings for WinRT and has applied it to develop a Windows version of Arc. This tool is now open source and available at https://github.com/thebrowsercompany/swift-winrt. In this article, Steve Kirbach first introduces the history of Windows desktop development, discusses the possibility of using Swift for development on Windows, and provides a complete end-to-end example demonstrating how to use the Swift/WinRT code generator and WinUI 3.
The Browser Company is committed to applying Swift to the Windows platform. In the second issue of our newsletter, we also introduced their another article about using Swift on Windows: Interoperability: Swift’s Super Power.
Advanced SwiftUI Animations – Part 7: PhaseAnimator
In WWDC 2023, the animation capabilities of SwiftUI have been significantly enhanced, including the introduction of PhaseAnimator. PhaseAnimator views and the phaseAnimator modifier use a series of phase information provided by developers to achieve animated effects on content, playing continuously or triggered, with each phase defining a discrete step in the animation. In this article, Javier provides a detailed introduction to the usage of phase animations and also points out a potential issue that may arise when using the Text view in phase animations, along with a solution.
Promotional offers: Increase App Revenue using discounts
Promotional offers can provide discounted prices for auto-renewable subscription products. They can effectively attract lapsed subscribers or retain current subscribers and bring in more profits when implemented correctly. In this article, Antoine van der Lee explains the concept of promotional offers, demonstrates how to configure them in App Store Connect, recommends some related documentation for implementing promotional offers, and shares a few common methods to increase revenue. This article is suitable for every developer who wants to increase app revenue.
Creating Shortcuts with App Intents
Shortcuts allow users to interact with your application without launching and navigating to specific screens to perform tasks. In the past, adding and exposing shortcuts to the system was cumbersome and time-consuming. In iOS 16, Apple has improved the process of adding and exposing application shortcuts to iOS. The new App Intents framework allows developers to create shortcuts using the same language (Swift) that you use every day! Everything is statically-typed and can be received by iOS upon installation. In this article, Mark Struzinski will show you how to add shortcuts to your app using the App Intents framework through a complete example.