React Native 设置默认 iPhone 模拟器

问题描述 投票:0回答:3

我想为我的 React Native 项目设置一个默认模拟器,所以如果我运行脚本

yarn ios
npx react-native run-ios
它总是启动“iPhone 12 Pro Max”。

  • 使用
    --simulator
    标志一次不会更改默认模拟器,下次运行
    yarn ios
    react-native run-ios
    时,它会在不同的模拟器上启动
  • 当我运行
    yarn ios
    时,应用程序以
    iPhone 10
    开头,当我运行
    npx react-native run-ios
    时,应用程序以
    iPhone 8
    开头。如果我通过 xCode 删除其中任何一个模拟器,该项目不会以提到的脚本启动,并会抛出找不到 iPhone 10 或 iPhone 8 的错误。

所以我的问题是项目中这些模拟器的值保存在哪里,以及如何更改它。它是否设置在

.xcworkspace
.xcodeproj
中的某个位置?如果有人克隆此项目并运行该应用程序,则可能会在其计算机上的不同设备上启动。

注意:我不是在寻找答案,包括设置

--simulator
标志

ios xcode react-native ios-simulator react-native-ios
3个回答
5
投票

除了

--simulator
之外,目前没有官方方法将
run-ios
的设备设置为doc

您可以尝试在 ./node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js 中编辑文件末尾的默认值:

var _default = {
...
options: [{
    ...
    default: 'iPhone 8'
  },
...
}

“反应本机”:“0.63.4”


0
投票

在你的 package.json 文件中

更改此:

"scripts": {
     ...
    "ios": "react-native run-ios",
     ...
  },

对此:

"scripts": {
     ...
    "ios": "react-native run-ios --simulator='iPhone 12 Pro Max'",
     ...
  },

我希望这对你有帮助。!


0
投票

基于这个很棒的包的建议:https://www.npmjs.com/package/patch-package,以及 Aureo Beck 的答案...

  • 安装补丁包
  • 更新
    ./node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js
    文件,添加默认设置,例如:
...
, {
    name: '--simulator <string>',
    description: 'Explicitly set the simulator to use. Optionally set the iOS version ' + 'between parentheses at the end to match an exact version: ' + '"iPhone 15 (17.0)"',
    default: 'iPhone 15 Pro'
},
...
  • 运行
    npx patch-package @react-native-community/cli-platform-ios
    生成补丁

安装 patch-package 时请务必遵循说明,并将

"postinstall": "patch-package"
添加到 package.json 文件中。这将确保您在清理和重新安装项目包时设置默认模拟器。

上述方法允许我在运行

i
后按
npx react-native start
并启动我喜欢的 iOS 模拟器。

“反应本机”:“0.73.6”

© www.soinside.com 2019 - 2024. All rights reserved.