为模拟器开发的定制化Expo开发客户端。

5
我有一个关于在模拟器上安装自定义Expo开发客户端的问题,具体来说是iOS模拟器。我知道有一种方法可以在模拟器中安装Expo构建(在此处概述:https://docs.expo.dev/build-reference/simulators/),但这只是一种构建而不是开发客户端,两者是非常不同的。 Expo开发客户端的概念在此处概述:https://docs.expo.dev/development/introduction/。这意味着没有快速刷新功能,我无法通过更改代码实时修改我的应用程序。这对我来说是一个非常重要的功能,因为我需要确保我的应用程序与所有iPhone尺寸兼容,并且我需要能够快速查看更改,而不必每次都进行构建。是否有人知道如何做到这一点,或者这目前是否可能?

你试过了吗?快速刷新在Expo上和普通的RN上都可以使用。 - Abe
@Abe 我知道在Expo Go和模拟器上可以使用快速刷新,但如果你有原生代码和裸机工作流程,你需要为模拟器创建一个Expo开发客户端构建,就我所见,刷新在我的模拟器上不起作用,只显示已经构建好的代码。 - Raamiz Abbasi
抱歉,我没有意识到你正在进行构建和导出。在这种情况下,实时刷新将无法工作。 - Abe
你经常修改原生代码吗?使用已弹出的Expo项目或纯React Native项目可能更好。在原生代码更改后仍需要重新构建,但您将获得JavaScript更改的快速刷新。 - Abe
如果您想像使用Expo Publish更新Expo Go一样更新开发客户端,那么您需要使用和配置eas-updates。expo-dev-client与Expo Go具有相同的目的,但可定制性更强。您可以通过扫描QR码或设置“eas update”(目前处于预览状态,并需要付费许可证才能访问该功能)来向其发送更新。如果没有付费许可证,则只能通过QR码更新dev客户端。 - Mark Han
显示剩余7条评论
2个回答

6

这个问题的详细解释可以在这里找到:https://expo.canny.io/feature-requests/p/custom-dev-clients-for-simulator

本质上,我的问题是我没有正确设置我的eas.json文件。我需要在eas.json文件中更改preview构建配置文件,使其包含这些参数:"developmentClient": true"ios": { "simulator": true } 然后使用命令eas build --profile preview来构建项目。然后按照下载tar.gz文件、提取.app文件、将其拖入模拟器,并成功打开应用程序并将其连接到Metro并查看实时更改的步骤进行操作。


1
像@Raamiz Abbasi所说的那样,您可以在您的eas.json中将developmentClient和simulator设置为true。但是,如果您想进一步,您还可以使用expo-dev-client创建一个“自定义expo go应用程序”,这基本上是一个定制的expo go,您可以使用eas-update发布更新。
Expo Go和这个新的“开发客户端”都是用于显示您的JS包的客户端。但是,使用expo-dev-client,您可以做一些很酷的事情,比如将额外的调试按钮添加到菜单中,或者运行发布(或在这种情况下使用eas更新),这将自动反馈到开发客户端中。
这样做的原因,除了在调试菜单中添加额外的调试内容之外,还可以避免只能“发布”构建的痛苦。目前,与expo go一起使用的expo publish构建无法进行调试。

请问,您所提到的“使用expo-dev-client”和“在具有developmentClientsimulator的预览配置上构建EAS”是否是两种不同的方法?而且,当您提到“使用expo-dev-client”时,您是否指的是与运行npx expo start --dev-client不同的内容,后者仍需要在模拟器/设备上安装由EAS方法构建的expo-dev-client?我只是想了解这两种不同的方式...或者这两个操作是否作为一种方法一起工作? - Behnam Kamrani
另外一个相关的问题是,在典型的用例方面,这两个构建配置文件有何不同?“build”:{ “development”:{ “developmentClient”:true, “distribution”:“internal”, }, “simulator”:{ “distribution”:“internal”, “ios”:{ “simulator”:true } } } - Behnam Kamrani

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