如何使用Expo在真实的iOS设备上运行应用程序?

19

我正在使用Expo来运行我的应用程序。在Expo XDE中,我可以看到两个选项:

  1. 在iOS模拟器上打开
  2. 在Android上打开 XDE

我想通过直接连接我的设备来运行我的应用程序。这在Expo中是否可能?


1
我的回答有效吗? - eden
3个回答

21

是的,这是可能的,并且很容易启动。

步骤1: 打开Expo XDE,点击灰色的齿轮将主机模式更改为LAN。确保您启用了开发模式。您将看到一个URL就在您面前。等待打包程序开始运行。

计算机

步骤2: 在您的移动设备上打开Expo App,点击第二个选项卡“探索”并输入以exp://192.168...开头的URL。这是与您的电脑的本地连接。你会在一分钟内看到你的应用程序运行。

请确保您的手机和电脑在同一个WiFi上!

有关更多信息,您可以参考官方文档此处

输入图像描述


5
“探索”标签页已经不存在了,您是否介意相应地更新您的答案? - Milad
谢谢Raptor,我无法访问我的计算机并更新答案。 - eden
你需要在移动设备的Safari浏览器中打开链接 :) 这将启动Expo。 - tryp
有没有办法获取 .ipa 文件或使用 expo build:ios -t simulator 生成的 tar.gz 文件并将其安装到设备上?请确认我们是否可以仅使用 exp:// 或者是否可以像 iOS 模拟器上启动应用程序时那样安装应用程序并获取图标。 - Dimitri Kopriwa

14
由于新的Apple审批要求,Expo Client App已经进行了更新,请按照以下步骤在实际iOS设备中启动应用程序:
  1. 将您的计算机和iOS设备连接到相同的Wi-Fi。
  2. 在Expo XDE中,选择Host> LAN(请参考eden的答案)。
  3. 在iOS设备中打开MobileSafari。输入在Expo XDE中显示的URL(应该是类似exp://192.168.123.123:19000的东西)。或者,您可以点击Expo XDE中的“共享”按钮以显示QR码。使用iOS(iOS 11+)中的Camera App或任何QR码阅读器(iOS 9和10)扫描QR码。
  4. MobileSafari或您的QR码阅读器 / Camera App会询问您是否要在Expo Client App中启动应用程序,请选择“是”。
  5. 然后您的项目将相应地加载。
希望能对您有所帮助。

第3步截图


3
有没有办法获得一个.ipa文件或使用由expo build:ios -t simulator生成的tar.gz文件并将其安装到设备上?请确认是否可以只使用exp://,或者是否可以像iOS模拟器上启动应用程序时那样安装应用程序并获取图标。 - Dimitri Kopriwa
请注意,在iOS和Android的Expo应用程序中运行时,许多事情并不完全相同。这种方法适用于快速原型设计,但不能替代在设备上本地测试您的应用程序。 - Chris Jaynes

10

如果您想在物理 iOS 设备(而不是模拟器)上使用电缆将设备连接到计算机并使用以下代码,即可运行本地构建,而无需使用Expo Go

npx expo run:ios --device

这在需要测试通知、本地代码等情况下非常有用。


我的应用程序在构建到100%时卡住了,如果我关闭应用程序然后再次打开它,它仍然卡在从地铁加载的界面上。 - undefined
1
哎呀,这真不好玩... 通常我会做以下几件事情: 1)确保手机和笔记本电脑连接到同一个WiFi网络 2)删除测试应用并重新运行命令 3)尝试执行 rm -rf ios && npx expo prebuild 命令,它会删除现有的iOS文件并重新生成它们。 - undefined
我使用以下命令安装了一个新的Expo应用程序:npx create-expo-app AwesomeProject,然后运行了以下命令:npx expo run:ios --device。应用程序最终在我的设备上运行了,但是加载时间非常长,超过了4个小时,这让我觉得可能出了些问题。它应该立即运行,就像在Android上使用expo run:android --device时一样,应用程序立即工作,没有任何延迟。但是在iOS上,它一直在加载bundle,最终才加载完成。每次运行命令都是如此,不仅仅是第一次。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接