cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Stephen.Mickelsen
AppDynamics Team

How can I run a simulator on my M1-based Mac using Rosetta to provide the needed ARM64 support? 

To run a simulator on an M1-based Mac, your linked frameworks need to support an ARM64 for M1 slice. This is accomplished by application vendors shipping a new product packaged as an XCFramework rather than the traditional Framework. This new product version can include an M1 Simulator slice for testing.

AppDynamics is working on releasing our iOS Agent XCFramework version in the near term

In the meantime, if you want to test your product that includes our current iOS Agent Framework version, you will need to employ a work-around using Rosetta to run the simulator. 

NOTE | An Apple-supplied tool that emulates an Intel Mac running on an M1 Mac, Rosetta is available on any M1 Mac.

In this article…

Want to be notified of updates about either this work-around
or an XCFramework version of iOS Agent?

Click the 3-dot icon on the upper right, then select Subscribe from the drop-down list.


 

How do I implement the Rosetta work-around?

There are a couple of simple steps for this workaround.

 

1. Set your project build settings’ Build Active Architecture only to ‘Yes’

In your project Build Settings, set the ‘Build Active Architecture Only’ to Yes for Debug mode. This will cause Xcode to only build a version of your app required to run on the currently chosen simulator. For most developers, this is the default setting. This does not affect the release version of your app.

StephenMickelsen_0-1645220554522.png

 

2. Make certain your simulator can run under Rosetta

Make sure your Simulator will run under Rosetta. This will force the Simulator to run an Intel version of the code, avoiding an M1 support error message. There are two ways to make this happen:

NOTE | In both cases be sure to Clean Build Folder, and then rebuild and test your app.

  • Select a simulator that runs iOS 13.7 or older
    These simulators were made by Apple only in Intel-based versions. Simulators newer than 13.7 have both Intel and M1 support. Using an older simulator will force Rosetta to run and allow you to debug your app.

    You will notice that this simulator will run slower than normal due to the Rosetta emulation.
    StephenMickelsen_1-1645220554479.png

  • Force Xcode to run under Rosetta
    If you need to run a newer simulator than 13.7, you can force Xcode itself to run under Rosetta. This will cause all of Xcode to run slower due to the emulation but it will work with any version of the simulator.

    To force Xcode to run in Rosetta: 
    1. Quit Xcode if it is running.
    2. Use Finder to locate Xcode.app in the Applications folder of your Mac.
    3. Right click Xcode.app and select ‘Get Info’
    4. Click the ‘Open using Rosetta’ check box.
    5. Restart Xcode. It will now be running in emulation and will be slower than usual.
      StephenMickelsen_2-1645220554524.png

       

When will an XCF Framework version of the iOS Agent be available?

We are working towards delivering an XCFramework version of our agent in the near term.

We will notify the customer community here, as well as in the usual AppDynamics product announcement publications.

To receive a message alerting you to any updates to this workaround article, including news of an XCFramework iOS Agent, click the 3-dot icon on the upper right, and select Subscribe from the drop-down list.

Version history
Last update:
‎10-03-2022 12:08 PM
Updated by: