If you’ve been forced to run Xcode through Rosetta (for example, because a binary framework vendor has been extraordinarily slow to adopt the xcframework format or simply isn’t including the right simulator slice), you may have noticed that copy and pasting inside the simulated app isn’t working. My knowledge of macOS isn’t deep enough to say why exactly that is, but the error messages in the debug console point to some sort of XPC/permissions issue. The copied contents are written to a disk cache, but can’t be read back for some reason. I assume it has something to do with the simulator itself running natively, while the app runs through Rosetta.
Here’s a fun bug I encountered in Apple Wallet. I invited someone as a participant for my Apple Card (essentially an authorized user). The processes for both sending this invite and accepting it are pretty slick. However, whenever they tried to accept the invite, they were greeted with this error message at the address validation step.
Workarounds are a fact of life for programmers. You rarely have the ability to fix all the buggy code you have to work with, and even if you do, it might not be worth the time and effort to find and validate a proper fix. But while a workaround allows you to move forward quickly, it also creates a maintenance burden. Creative solutions like this are usually more fragile and will need to be revisited occasionally. Here are a few ways you can use the compiler to help remind you.