Archive for July 23, 2025

Wednesday, July 23, 2025

Ways SwiftData’s ModelContainer Can Error on Creation

Scott Driggers:

Here’s what I see from a typical report from a crashing user device. The first thing that jumps out is that there is no explanation from the SwiftData error itself.

[…]

But thankfully, we have the logs to look through. In this example, there are a few level=Error logs from com.apple.coredata that look promising[…]

[…]

Looking through similar reports I have received so far, I can see a few distinct crash reasons

  1. Error due to schema mismatch (this is the example we reviewed above)
  2. Error due to no free space on disk
  3. Error due to multiple migrators attempting to migrate the database concurrently

Core Data has always logged more helpful information than it returns back in the NSError, but at least it usually gives you a reasonable error code. (They aren’t all listed in the documentation; see CoreDataErrors.h and FoundationErrors.h.) Swift has fancy error handling, but somehow the new framework bundles these disparate failures into a generic loadIssueModelContainer error with no associated information.

Previously:

Apple Games App

Apple (9to5Mac, MacRumors):

At Apple’s Worldwide Developers Conference (WWDC), Apple unveiled Apple Games, an all-new destination designed to help players jump back into the games they love, find their next favorite, and have more fun with friends, turning even single-player games into shared experiences. The Games app makes it easier than ever for players to enjoy all their games in one convenient place and see what’s happening across their games, including major events and updates, so they never miss a moment.

The rumors were that this was going to be a separate games store, with games moved out of the main App Store app, but it seems to be basically Game Center rebranded.

Previously:

Update (2025-07-24): Craig Grannell:

Your line is what I feared would happen when I wrote about this in May.

Of the items in that piece, here’s how I think Apple fared in beta 3:

  1. Nail the basics: barely
  2. Highlight controller support: yes – buried under Library > Your Games > [menu]
  3. Add landscape support: yes
  4. Embrace openness (LOL): LOL indeed
  5. Recommend good games: not really
  6. Not get bored after 11 seconds: we shall see.

iPad Air Runs Windows 11 ARM via Emulation

Tim Hardwick:

A developer has demonstrated Windows 11 ARM running on an M2 iPad Air using emulation, which has become much easier since the EU’s Digital Markets Act (DMA) regulations came into effect.

As spotted by Windows Latest, NTDev shared an instance of the emulation on social media and posted a video on YouTube (embedded below) demonstrating it in action. The achievement relies on new EU regulatory changes that make it easier to sideload apps on iOS and iPadOS devices. Under the DMA, users can now download third-party app stores like “AltStore Classic,” which enables the installation of UTM with JIT (Just-In-Time) compilation support.

UTM is the technology that makes it all possible, and emulates Windows 11 inside iPadOS by translating Windows code into ARM instructions as it runs. Technically, iPadOS restricts direct virtualization for third-party apps, but JIT compilation allows Windows 11 to boot and function smoothly without requiring jailbreak access.

xroissance:

Apple shut down JIT a year ago to prevent a tiny PR blunder from happening. Imagine your hardware vendor locking down hardware… after you buy it. Locking it so 3rd parties can’t run apps at full speed w/o memory restrictions. This insanity must stop now ✋ It must be illegal.

John Voorhees:

AltStore PAL 2.2 now includes AltStore Classic as one of its catalog of apps. That’s right, a store within a store, which allows users in Europe to sideload hundreds of non-notarized apps.

Riley Testut:

Apple has very strict requirements on what alternative marketplaces are allowed to do…but they’re not allowed to control the content of the apps inside them 🤷‍♂️

Riley Testut:

the StikDebug app in AltStore PAL acts as an on-device debugger, which can connect to any app with the get-task-allow entitlement — which as a side-effect just happens to enable JIT for the app

Craig Hockenberry:

So you’re running the emulator in a debugger without any breakpoints?

Soon to come: a Core Debugging Fee 😉

Previously:

Update (2025-07-24): Josh Hrach:

Used UTM 5 years ago to run Windows XP on my iPad (with iPadOS 13) for gaming. Worked great before the JIT limitations.