iOS simulator scrolling on Apple Silicon

Hi

I have an larger app with scrollable elements (table views, textviews, collection views, map .. ). I purchased a Mac mini with M1 processor, and with the latest Xcode, I can't swipe with the simulator. It lags, so I can drag with the Magic Mouse, but the swipe gesture is not recognised properly. For the system apps (settings for example) it works. For any simple app, it does not. Has anyone faced this issue?
Post not yet marked as solved Up vote post of MetaImi Down vote post of MetaImi
18k views

Replies

Update: If I exclude the arm64 from the iOS simulator, then the described issue appears. If the exclusion is not there then it works nicely.
I have the same issue.
I did not know that causes x86_64 binary.

So It works well with running in Resetta.

I temporally solve the issue by forcing simulator run in rosetta. open application folder, show package content, go to Contents/Developer/Applications/Simulator, then you can check the rosetta checkbox

  • This work. I'm developing using react-native and after getting the M1 Mac I had to exclude arm64 from the simulator and immediately noticed poor scroll compare to when using intel.

Add a Comment

Does anyone have any follow up regarding this issue? We should be able to force M1 processor to run application in x86_64 architecture, still until our projects fully support new M1 processors and arm64 architecture. I still experience same bug with iOS simulator scroll while forcing Excluded Architectures / Any iOS Simulator SDK : arm64.

Confirmed that a react-native app, running on an emulator started with M1 processor has completely different scroll behavior than the same app, started on an emulator with intel, or rosetta.

On a long list, hold the mouse button down, and begin scrolling, releasing the mouse button while your mouse or finger is still moving. Kind of like "throwing" the list. On an emulator started with the M1 processor, as soon as you release the mouse button, the scroll freezes instantly. On real devices or emulators started with, intel, or rosetta, it will continue scrolling, slow, and eventually stop, unless interrupted with another touch gesture.

To enable rosetta, I went to /Applications/Xcode.app/Contents/Developer/Applications/ in the finder, then right clicked the simulator and selected 'get info', and then checked open with Rosetta. Then restarted the simulator.

There is no "Open with Rosetta" option in XCode Version 14.0 beta 5' simulator, I am facing this scrolling problem for months, any other recommendation?

I can't run the new simulator beta with rosetta. There is no option. So this issue exists when I use the simulator beta.

I also can't see rosetta option to enable. Can someone please help.

Same problem and now they've removed the option to run the Simulator under Rosetta which was the only fix. How can such a fundamental piece of the user experience still be broken on their architecture after a year and a major Xcode release? I'll guess I'm stuck with v13 for the foreseeable future.

You could try to move Xcode 13.x Simulator to Xcode.app/Contents/Developer/Applications and rename it. Then runs the older Simulator version. it works for me.

You can try deleting the "Application requires native environment" entry in the Info.plist when you look into the Simulator package contents.

Then, make sure to close the Simulator and relaunch Finder. I've had issues where Finder or some other process caches this info for some time, but the option re-appeared. Finally, check if the box appears using the Get Info option.

Goes without saying this is not supported by Apple as I'm guessing they have their reasons, even though supporting Rosetta would be nice.

Edit: You may also want to backup your original Info.plist just to be safe. Copying it to a new filename shouldn't harm anything.

  • I can confirm this works - thanks. I also had to give Read & Write permission to both the Info.plist and parent Contents folder from the bottom of the Get Info window.

    Copy/Paste, however, is still not working for me even after running in Rosetta (it seemed spotty before even upgrading to Xcode 14). Pasting works fine in native apps. See this thread: https://developer.apple.com/forums/thread/682395

  • Doesn't work for me :(

Add a Comment

Opening the Simulator via the terminal with this command forces the use of x86_64 architecture/Rosetta

arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator

Still, any update on this from Apple's side would be highly appreciated. We shouldn't still be required to "trick" the simulator into using the old architecture by now.

The following commands work for me. The first one removes LSRequiresNativeExecution from the Info.plist. The second one register the Simulator.app with LaunchService.

/usr/libexec/PlistBuddy -c 'Delete :LSRequiresNativeExecution' /Applications/Xcode-14.0.0.app/Contents/Developer/Applications/Simulator.app/Contents/Info.plist
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/Xcode-14.0.0.app/Contents/Developer/Applications/Simulator.app

Does anybody know what is the underlying issue?

The issue is still there on Xcode 14.2 and none of above solutions work. Did anyone find a working solution for this version?