Vision Pro Spatial Personas. iPhone = Old Console? WWDC24

Article's main picture
  • #Swift
  • #Xcode

• 4 min read

iPhone turns into an emulator console. WWDC 2024 and Spatial Personas for Vision Pro. My name is Roman Mishchenko, an engineer at CleanMyMac, and let’s get started with the most important updates from iOS and macOS.

Blitz news

For starters, a blitz of short news:

  • At China’s request, Apple has removed several popular messaging apps from the Chinese App Store, including Threads, Signal, WhatsApp, and Telegram.
  • Apple seeks to expand its campus in Singapore with a new $250 million investment.
  • The Apple Vision Pro gains more traction in the medical field. Recently, the device was used to help a surgeon during a shoulder arthroscopy in Brazil.
  • Developers have created a repository with examples of embedded projects on Swift for various microcontrollers. Apple announced the "Let Loose" event, which should take place on May 7th. Most likely, we will see new iPad models.


WWDC24 has been officially announced and will take place from June 10th to 14th. Like last year, Apple will host an offline event at Apple Park. Some developers have already received invitations to visit the campus and attend the presentation on June 10th. For everyone else, there will be an online broadcast available.

At WWDC, Apple is to present new versions of operating systems and development tools. Rumors about new features in iOS 18 are already spreading online, with AI enhancements and Siri updates frequently mentioned. Insiders say this could be one of the biggest updates to iOS. We'll find out if that’s true in just a few months. As for macOS, there isn’t much information yet, but I hope Apple is preparing something special for Mac users, beyond just a name change.

Subscribe to our blog for a subsequent overview of the event.

Emulators on App Store

Apple has updated the App Store guidelines. In addition to allowing music apps like Spotify to include links for in-app payments, section 4.7 has been revised. Now, apps can offer software that is not embedded in the binary file, such as HTML5 mini-apps and mini-games, streaming games, chatbots, and plugins. Additionally, retro-gaming console emulators can now offer game downloads. Of course, the developers of the main app are responsible for any additional software offered within their program, including compliance with all relevant laws.

In the wake of this update, emulators for games from old consoles began to appear. One such emulator is Delta, which unlike its predecessor GBA4iOS, can be downloaded directly from the App Store. Delta supports games from Nintendo DS, GameBoy, Nes, and others. To install classic games, you need to create a ROM file. This is typically done by ROM operators extracting the game from the cartridge and converting it into the necessary format.

I'm really pleased with such a surprising update to the rules because the community of enthusiasts who save programs from becoming abandonware is only growing!

Spatial Personas

The Apple Vision Pro recently received an eagerly awaited update with the support for Spatial Personas in Share Play activities. This allows users to interact inside apps in a more immersive mode — with spatial co-presence and hand reconstruction.

To implement Spatial Personas, you need to set up SharePlay activities in your app. When a participant joins an activity, the system selects or opens a scene that supports this activity and also creates a shared coordinate system for the participants. Scenes manage the content of windows, volumes, and spaces of the app associated with specific activities.

To enable the system to respond to actions within SharePlay, you need to configure the activation conditions for each scene, which are necessary for processing NSUserActivity objects and other incoming events. To specify activation conditions for a scene, you need to:

  • For SwiftUI, add the handlesExternalEvents(preferring:allowing:) modifier to your scene type.
  • For UIKit, configure the scene’s activationConditions property in the scene(_:willConnectTo:options:) method of your scene delegate.

This update gives even more possibilities for developers to create more engaging collaborative applications.


More From engineering

Subscribe to our newsletter