使用 Command-R 在 iOS 模拟器中重新加载应用程序不起作用
Posted
技术标签:
【中文标题】使用 Command-R 在 iOS 模拟器中重新加载应用程序不起作用【英文标题】:Reload app in iOS simulator using Command-R not working 【发布时间】:2017-02-17 18:52:26 【问题描述】:我在 React native 中使用 TabBarios 组件。如果我按 Command-R,则不会重新加载应用程序。我使用“摇动手势”来显示菜单,然后单击上下文菜单上的重新加载以重新加载应用程序。
有没有办法让 Command-R 在 React native 中使用 TabBarIOS 组件?
【问题讨论】:
确保应用程序以调试模式而不是发布模式安装在模拟器上 点击图片:tick on as image 【参考方案1】:当我遇到这个问题时,我从一开始就遇到了,所以它可能不是由于特定组件造成的。但是,它也可能对您有用:
聚焦 iOS 模拟器,选择菜单项硬件 > 键盘 > 将菜单键盘快捷键发送到设备。
此外,我使用 Colemak 键盘布局,发现在进行上述选择后,我还必须使用 R 打印在我的键盘键上的 ⌘ + R 命令,而不是我根据 Colemak 布局使用的命令。
【讨论】:
我相信这也依赖于选择 Hardware > Keyboard > Connect Hardware Keyboard,但默认情况下我已经启用了。 这似乎使某些东西松动并使其响应更好一些,但在尝试从模拟器切换时也破坏了 Command-Tab。我再次取消选中该选项,似乎 Command-R 继续响应。哦,苹果。 在我为 Simulator Version 11.4 (921.9)、SimulatorKit 581.9、CoreSimulator 704.12 选择 I/O > Send Keyboard Input to Device 后它开始工作 现在位于 I/O > Input > Send Keyboard Input to Device【参考方案2】:@burak-karasoy cmets 帮助我,我在发布模式下构建应用程序,不允许热重新加载。要切换构建,您应该转到 Product > Scheme > Edit Scheme 并选择 Debug for Build Configuration。
更新:有时 ⌘ + R 或 ⌘ + D 不能正常工作,但你总是可以使用Shake
选项。
【讨论】:
【参考方案3】:尝试模拟器菜单将键盘输入发送到设备。
I/O
> Input
> Send Keyboard Input to Device
【讨论】:
【参考方案4】:您是否尝试过检查“连接硬件键盘”选项。 在 Hardware -> Keyboard 菜单下?
【讨论】:
【参考方案5】:Ctrl+Cmd+Z 将模拟摇动,无论您是否有I/O
,都会打开开发者菜单> Input
> Send Keyboard Input to Device
打开或关闭。
Cmd+R / Cmd+D / ... 仅在I/O
时有效> Input
> Send Keyboard Input to Device
被选中!
官方文档:https://docs.expo.io/workflow/development-mode/#showing-the-developer-menu
【讨论】:
【参考方案6】:第一次使用⇧+⌘+K
然后使用⌘+R
希望有效果
【讨论】:
【参考方案7】:cmd+r
和 cmd+d
根据我的经验只是间歇性地工作失败。有时我需要按 cmd+r 4-5 次才能刷新。
虽然“摇晃”选项似乎非常一致。所以我设置了键盘大师将cmd+d
重新映射到ctrl+cmd+z
,并将cmd+r
重新映射到:
ctrl+cmd+z
暂停 0.5 秒以显示菜单
点击reload
按钮图片
这是非常一致的。如果您不使用键盘大师,我建议您始终使用ctrl+cmd+z
,如果其他命令不能始终为您工作。虽然我希望他们会!
【讨论】:
【参考方案8】:请尝试按Command+K切换软键盘。
【讨论】:
【参考方案9】:如果以上方法均无效,则在Simulator menu
中,转到Devices
并单击Restart
。这会重新启动设备本身。
现在返回您的终端(您正在运行 expo)并按 i(对于 ios 模拟器),它应该会再次打开应用程序。
【讨论】:
以上是关于使用 Command-R 在 iOS 模拟器中重新加载应用程序不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Facebook API for iOS 中重新请求某些访问令牌
iOS XCTestCase 启动、执行一些操作、终止应用并重新启动应用