如何将 expo 项目弹出到本机代码

How to eject expo project to native code

我使用命令 npm run eject 从 expo 中弹出项目。它生成 2 个文件夹 iosandroid。我试图通过 xcode 运行 项目,但它仍然显示此错误。也许我不清楚如何在弹出后 运行 项目,你能帮我 运行 吗? 我 运行 一些语句要安装 pod,但无法工作 https://github.com/CocoaPods/CocoaPods/issues/2303

所以对于弹出,你应该有两个选择:

? How would you like to eject from create-react-native-app? (Use arrow keys)
❯ React Native: I'd like a regular React Native project. 
  ExpoKit: I'll create or log in with an Expo account to use React Native and the Expo SDK. 
  Cancel: I'll continue with my current project structure. 

如果您选择第一个 (React Native),那么打开您的 Xcode 项目和 运行 应用应该没有问题(也不会 pods 进行安装)。由于您的错误和评论另有说明,我可以假设您选择了选项 2:Expokit.

为此,系统应该提示您创建 Expo 帐户或使用现有帐户:

? How would you like to eject from create-react-native-app? 
  React Native: I'd like a regular React Native project. 
❯ ExpoKit: I'll create or log in with an Expo account to use React Native and the Expo SDK. 
  Cancel: I'll continue with my current project structure.

  An Expo account is required to proceed.
? It appears you're already logged in to Expo as ...

之后,您需要在 运行 npm run eject 之后按照 Developing With ExpoKit. Specifically to get iOS running, you need follow all of the steps in this section 中的步骤进行操作。

如果您已完成所有这些,那么当 运行 与 Expo XDE or exp 结合使用时应该可以正常工作。我现在刚刚对两者进行了测试,并且可以正常工作。仔细检查你的步骤,确保你没有遗漏任何东西。否则,请编辑您的问题,详细说明您 运行 的确切命令、您拥有的其他依赖项等,因为我无法重现您遇到的错误。

如果你想在没有 expo 的情况下下载新项目,请尝试 运行:

react-native init ProjectNameHere

或者,如果您想在没有 expo 的情况下转换自己的项目,请尝试:

 1. rm -rf node_modules
 2. remove expo dependencies from package.json
 3. npm install
 4. react-native upgrade

(注意:此后续步骤将创建新的 ios 和 android 文件夹,您必须重做依赖关系。我正在努力解决同样的问题,所以我发布了我的解决方案)