在 Expo + React Native 项目中包装第 3 方本机库(android 和 ios)并将其暴露给 Javascript 的“正确方法”是什么?最好的追求路线是什么?有什么我应该学习的综合例子吗?
以下是我尝试在不涉及任何第三方依赖项的情况下执行简单本机代码的一些操作:
由于我想使用世博会,因此第三个选项对我来说似乎是一个不错的选择。但现在我对如何真正引入我想要使用的第三方库感到困惑。例如,有awesome-module/ios一个AwesomeModule.podspec文件,但没有Podfile要添加依赖项的文件。我应该添加一个Podfile吗?我应该添加对 AwesomeApp 的依赖吗Podfile?我采取了错误的方法吗?我应该重新关注 React Native 模块吗?
到目前为止我使用过的资源:
npx create-expo-module AwesomeModule您有Expo两个主要工作流程 -managed work-flow和bare work-flow. 有关这些工作流程的文档,请参阅此处。
在过去,包含第 3 方库的唯一选择是弹出您的Expo项目(这是一种单向操作 - 没有回头路),使其成为标准React Native应用程序,然后在项目中包含您需要的第 3 方库React Native。原因是设备上managed work-flow使用Expo Go来提供所需的本机功能,并且无法将第 3 方库添加到Expo Go. 所以所Expo提供的就是你可以使用的。
这种情况随后发生了变化,现在有一种方法可以包含第 3 方库。您可以通过使用EAS build来构建您自己的自定义开发客户端(然后替换 Android 或 iOS 设备上的 Expo Go)来实现此目的。我花了一段时间才弄清楚这一切是如何工作的,但简而言之,步骤如下:
执行expo prebuild预构建iOS和Android文件夹。在该iOS文件夹中,您将找到Podfile您要查找的内容。Android您可以在或文件夹中进行所需的更改iOS,并且运行EAS构建不会覆盖您在此处所做的更改。
如果您对 for 进行了任何更改Podfile,iOS则需要 npx pod-install在 iOS 文件夹中执行。
创建一个 EAS 帐户,然后使用以下命令之一来构建您的项目:
eas build --profile 开发 --platform android
eas build --profile 开发 --platform ios
上述命令将在排队一段时间后在 EAS 服务器上开始构建(队列的长度取决于一天中的时间和服务器的繁忙程度)。
构建命令iOS将提示您输入Apple帐户,并指导您为测试设备创建和配置配置文件。
如果构建过程中发生错误,您必须登录 EAS 帐户并查看日志才能看到报告的错误消息。
构建完成后EAS,您将获得一个QR code,然后您可以在您的设备上进行扫描Android以iOS安装自定义开发客户端。
安装自定义开发客户端后,您可以通过从项目文件夹运行以下命令来启动应用程序,该应用程序现在包含您的第 3 方库:
npx expo start --dev-client
Run Code Online (Sandbox Code Playgroud)
然后,您将获得一个QR code可以在移动设备上扫描的文件,然后您的应用程序将在自定义开发客户端中启动。
如果您不想使用服务器,也可以设置自己的Windows机器来进行EAS构建。如果您有 ,则可以将其设置为和进行构建。不过,需要安装许多依赖项才能设置您的计算机来进行构建。这是用于设置或进行构建的文档。(请注意,a不能构建为AndroidEASMacbookEASAndroidiOSEASWindows PCMacbookEASWindows PCiOSXcode)。
如果您想EAS在本地进行构建,请添加--local到EAS上面给出的构建命令中。
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |