React Native:模拟器中的默认 iOS 设备

Posted

技术标签:

【中文标题】React Native:模拟器中的默认 iOS 设备【英文标题】:React Native: Default iOS device inside simulator 【发布时间】:2016-10-22 17:58:16 【问题描述】:

当运行一个 react native 应用程序时,设备模拟器由于某种原因总是默认为 iPhone 6,部分输出:

$ react-native run-ios
Found Xcode project AwesomeProject.xcodeproj
Launching iPhone 6 (9.3)...

模拟器运行后只能通过Hardware>Device菜单更改设备。

我已将 Xcode 设置为在模拟器中使用较旧的 iPhone 版本,但它只能在 IDE 中使用,而不能在 CLI 中使用。

在 CLI 中通过react-native 运行时如何更改默认 iOS 设备?

【问题讨论】:

React Native Change Default iOS Simulator Device的可能重复 【参考方案1】:

目前似乎没有办法设置默认值。 你可以用这个

react-native run-ios --simulator="iPhone 5"

在thread 中讨论的自定义模拟器上运行。

【讨论】:

【参考方案2】:

可以通过改变这个文件来设置默认值:

node_modules/react-native/local-cli/runIOS/runIOS.js

此块对于设置 iOS 模拟器、Xcode 方案和根项目位置很有用:

const args = parseCommandLine([
    
      command: 'simulator',
      description: 'Explicitly set simulator to use',
      type: 'string',
      required: false,
      default: 'iPhone 6',
    , 
      command: 'scheme',
      description: 'Explicitly set Xcode scheme to use',
      type: 'string',
      required: false,
    , 
      command: 'project-path',
      description: 'Path relative to project root where the Xcode project (.xcodeproj) lives. The default is \'ios\'.',
      type: 'string',
      required: false,
      default: 'ios',
    
  ], argv);

【讨论】:

【参考方案3】:

1) 重命名你的模拟器,如果模拟器名称相同但iOS版本不同

Xcode -> Window -> Devices and Simulators -> Simulators.

2) 打开你的 react native 项目文件夹

3) 编辑 package.json

"scripts": 
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "flow": "node_modules/.bin/flow",
    "start-iphone6": "react-native run-ios --simulator \"iPhone 6 11.3\""

4)npm run start-iphone6

【讨论】:

以上是关于React Native:模拟器中的默认 iOS 设备的主要内容,如果未能解决你的问题,请参考以下文章

react-native 设置启动模拟器

了解 React Native 中的默认字体大小

React-native - iOS - RCTJSCExecutor 的模块名称前缀错误

react-native run-ios 找不到模拟器

React Native:防止远程调试器在 Chrome 中打开

在 M1 上缺少 Safari 中的 React Native iOS 调试