【问题标题】:Expo: Change default IOS simulatorExpo:更改默认 IOS 模拟器
【发布时间】:2017-12-08 07:53:54
【问题描述】:

我是exporeact-native 的新手 每当我从 IOS 模拟器(在博览会内)运行应用程序时,它总是会启动 IphoneX。如果我需要更改模拟器,我必须通过Xcode打开它,有什么方法可以更改默认模拟器?

【问题讨论】:

    标签: react-native expo


    【解决方案1】:

    expo 在最近提交的关于此问题的提交中包含了一个选项。

    现在您可以在运行 expo 服务器的终端上点击 shift+i。它将列出所有模拟器,您需要选择您的选择。

    https://github.com/expo/expo-cli/pull/2541

    【讨论】:

    • 为我工作!谢谢!
    • 这是最好的答案!
    • 世博真好!
    • 多么棒的功能。
    • 这是最简单的解决方案,对我也有效
    【解决方案2】:

    目前无法从 Expo 更改模拟器。 Expo 只是使用 Xcode 中最后打开的模拟器。

    如果这不起作用,试试这个(在我的评论中更新):

    1. 模拟器打开后点击Hardware>Device>选择其他iphone

    2. 现在两者都将打开。接下来从 Dock 中退出模拟器。

    3. 现在尝试在 expo 的 ios 模拟器中打开您的项目。它应该会在您从硬件菜单中选择的模拟器中打开。

    【讨论】:

    • 不,我的最后一部手机并非总是 iphone6,但它会打开 iphonex
    • 这对我不起作用。为所做的方法添加了答案,请参阅“更改打开的 iOS 模拟器设备,Expo 将使用它。”
    【解决方案3】:

    这在 2021 年 2 月对我有用

    在带有 Big sur 的 Mac OS 上,expo v4.1.6

    1. 使用expo start -c(在您的项目位置)清理您的 EXPO 缓存
    2. 在展会终端按shift + i(见下方截图)

    1. 然后按shift + i,您应该能够通过在您需要的那个上按回车来选择模拟器(见截图)

    最后只想分享所有可用选项,如果您只需在地铁终端窗口中按i

    【讨论】:

    • 至少对我来说,我不需要清除 expo 缓存。只需在终端中使用 shift-i 就足够了。谢谢!
    【解决方案4】:

    这是可能的,但你不能从命令行定位它。 Expo 将只针对最后打开的模拟器。

    1. 点击硬件>设备并选择您想要的设备

    2. 您现在打开了两个模拟器,确保您想要的模拟器处于活动状态。

    3. 现在使用 Command + Q

    4. 退出模拟器应用
    5. 现在在您的命令行中,当运行 expo 服务器时,只需单击 i

    6. 模拟器将使用您的目标设备打开。

    【讨论】:

      【解决方案5】:

      (截至 2020 年 12 月 3 日)

      1. 打开模拟器
      2. 点击文件 ...(在左上角菜单栏中)
      3. 点击打开设备 ...(在下拉列表中)
      4. 选择您想要的设备并让它完全启动
      5. 退出模拟器...(command + Q)
      6. 完成

      在 iOS 模拟器上运行您的应用程序现在会自动启动到所需的设备 =)

      【讨论】:

        【解决方案6】:

        更改打开的 iOS 模拟器设备,Expo 将使用它。

        Expo 将其输出定向到打开的 iOS 模拟器,因此这必须在模拟器本身而不是 Expo 中完成。做起来很简单。 您可以将博览会输出定向到不同的设备。这是如何做。顺便说一句,这里描述的其他方法在我尝试时都不起作用。

        通过以下方式在 iOS 模拟器中打开第二个模拟器:

        1) 选择例如模拟器->硬件->设备->iOS12.1->iPhone 8

        2) 选择您不想使用的模拟器(例如,编写时的当前默认设置,iPhone XR)。按 Command-W 关闭模拟器窗口,让 iPhone 8 模拟器仍在运行。

        3) 在 Expo 中,像往常一样将代码部署到模拟器,或者使用命令行中的 i,或者从 Expo 的浏览器版本中选择“在 iOS 模拟器上运行”。

        4) 可以让 expo 显示给多个同时运行的模拟器(例如,在多个屏幕尺寸上测试渲染)。一旦您在一台设备上运行 expo(步骤 1-3),您就可以在另一台设备(或可能更多)上重复。 Expo 将在多个模拟器上运行。它们将同时显示输出。当我更改我的代码时,它会立即更新为多个模拟器/屏幕尺寸,而不需要任何额外的步骤。尚未准确地重新测试最容易执行此操作的步骤顺序,但它正在工作。

        希望这对你有用!

        【讨论】:

          【解决方案7】:

          你只需要通过 Xcode 打开想要的模拟器,然后运行: npm run ios
          从您的项目目录或类似命令启动您的应用程序

          【讨论】:

            【解决方案8】:

            我相信 yarn 将无法识别的参数传递给 react-native run-ios,因此您应该能够传递 --simulator="foo",如下所述:https://facebook.github.io/react-native/docs/running-on-simulator-ios

            【讨论】:

              【解决方案9】:

              我知道确切的答案 从 Expo 打开模拟器后,转到帮助菜单并搜索“iphone11”、“iphoneX”...。 那你应该没事

              【讨论】:

              • 澄清一下,使用顶部菜单,转到文件 > 打开设备,然后选择设备。
              • 是的,你也是对的,我使用的是 Mac,所以我用不同的方式说
              【解决方案10】:

              转到/Users/username/.expo/ios-simulator-app-cache/ 并删除其中的所有文件。

              运行你想要的 ios 模拟器并运行你的 expo 项目。

              【讨论】:

                【解决方案11】:

                重新启动计算机是唯一对我有用的方法。没有它按“Shift+i”没有任何效果。两个 Expo 客户端都不会安装在新的模拟器实例上。

                这对我来说是在 macOS 和 M1 MacBook Pro 上。

                【讨论】:

                • 关闭活动模拟器(关闭窗口⌘W)->打开我想要的模拟器->重新启动对我有用。
                【解决方案12】:

                只需启动您要在其上运行应用程序的模拟器,然后运行命令,即“yarn run ios”或“npm run ios”即可在模拟器上运行。应用程序将在两个模拟器上运行。

                如果它不起作用,则退出所有模拟器,然后运行命令,即“yarn run ios”或“npm run ios”,然后应用程序会自动在模拟器上运行,后者是后者启动的。

                希望对您有所帮助!

                【讨论】:

                  猜你喜欢
                  • 2016-09-16
                  • 2017-03-22
                  • 1970-01-01
                  • 1970-01-01
                  • 2023-03-09
                  • 1970-01-01
                  • 2017-09-27
                  • 2011-05-18
                  • 1970-01-01
                  相关资源
                  最近更新 更多