You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac上Xcode 14.2 iOS Simulator滚动异常且无Rosetta选项的求助

解决M1 Mac上Xcode 14.2 iOS Simulator滚动异常问题

一、强制以Rosetta模式运行iOS Simulator

新版Xcode的Simulator.app虽无可视化的“使用Rosetta打开”选项,但可通过以下方式强制启用:

  1. 修改Simulator的Info.plist

    • 右键点击/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app,选择「显示包内容」
    • 打开Contents/Info.plist,找到LSArchitecturePriority数组,将arm64移至数组末尾,把x86_64放在第一位
    • 保存后重启Simulator,即可以Rosetta模式运行
  2. 修正终端启动命令
    先关联Xcode开发环境再启动模拟器,确保命令生效:

    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
    

    注意:启动前需关闭所有已打开的Simulator实例

二、无需Rosetta的滚动问题修复方案

若不想依赖Rosetta,可尝试以下针对性修复:

  • 升级React Native版本
    确保RN版本为0.68+,该版本起对M1 Mac模拟器有更完善的原生支持,旧版本易出现滚动组件的架构兼容问题

  • 调整Xcode Build Settings

    1. 打开RN项目的iOS工程(.xcworkspace)
    2. 选择主Target,进入「Build Settings」
    3. 找到「Architectures」,设置Architectures为Standard Architectures (arm64, x86_64),Valid Architectures添加arm64和x86_64
    4. 找到「Build Options」下的「Excluded Architectures」,在Debug模式下移除arm64(仅针对模拟器)
  • 清理缓存与重置模拟器

    1. 关闭Simulator,执行命令清理Derived Data:
      rm -rf ~/Library/Developer/Xcode/DerivedData
      
    2. 在Simulator中选择「Device」→「Erase All Content and Settings」,重置模拟器状态
  • 排查第三方滚动组件
    若使用了第三方滚动库,确认其是否支持M1架构,尝试升级到最新版或替换为RN原生的ScrollView/FlatList测试


内容的提问来源于stack exchange,提问作者a million starflakes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:31:02