【问题标题】:Problem after ejecting application using expo使用 expo 弹出应用程序后的问题
【发布时间】:2023-03-15 00:25:01
【问题描述】:

在启动命令 npm run eject 后,我按照以下步骤操作:

  1. Bare:我想要一个 React Native 项目。
  2. 我设置了应用和xcode项目的名称

命令返回此消息Ejected successfully! 之后,进入ios生成的文件夹,我运行命令pod install,结果是Pod installation complete!

执行此过程后,我尝试使用ios 模拟器运行应用程序,但出现此错误:

Expo SDK 需要 Expo 才能运行。似乎本机 Expo 模块不可用,并且此代码未在 Expo 上运行。访问https://docs.expo.io,了解有关开发世博项目的更多信息。

请注意,在执行npm run eject 命令之前,应用程序正常运行。

这是eject之前的package.json

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "@apollo/react-hooks": "^3.0.1",
    "apollo-boost": "^0.4.4",
    "apollo-cache-inmemory": "^1.6.3",
    "apollo-client": "^2.6.4",
    "apollo-link-http": "^1.5.15",
    "expo": "^34.0.1",
    "expo-font": "^6.0.1",
    "graphql-tag": "^2.10.1",
    "metro-react-native-babel-preset": "^0.56.0",
    "prop-types": "^15.7.2",
    "react": "16.8.3",
    "react-apollo": "^3.0.1",
    "react-dom": "^16.8.6",
    "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
    "react-native-camera": "^3.3.2",
    "react-native-camera-kit": "^8.0.1",
    "react-native-circle-checkbox": "^0.1.6",
    "react-native-elements": "^1.1.0",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-image-picker": "^1.1.0",
    "react-native-modal-datetime-picker": "^7.5.0",
    "react-native-signature-pad": "^0.1.0",
    "react-native-vector-icons": "^6.6.0",
    "react-native-web": "^0.11.4",
    "react-native-webview": "^5.12.1",
    "react-navigation": "^3.12.1",
    "tcomb-form-native": "^0.6.20"
  },
  "devDependencies": {
    "babel-preset-expo": "^6.0.0"
  },
  "private": true
}

eject 之后,package.json 变为:

{
  "scripts": {
    "start": "react-native start",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "expo": "^34.0.1",
    "react": "16.8.3",
    "react-dom": "^16.8.6",
    "react-native": "0.59.10",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-reanimated": "~1.1.0",
    "react-native-screens": "1.0.0-alpha.22",
    "react-native-unimodules": "~0.5.2",
    "react-native-web": "^0.11.4",
    "@apollo/react-hooks": "^3.0.1",
    "apollo-boost": "^0.4.4",
    "apollo-cache-inmemory": "^1.6.3",
    "apollo-client": "^2.6.4",
    "apollo-link-http": "^1.5.15",
    "expo-font": "^6.0.1",
    "graphql-tag": "^2.10.1",
    "metro-react-native-babel-preset": "^0.56.0",
    "prop-types": "^15.7.2",
    "react-apollo": "^3.0.1",
    "react-native-camera": "^3.3.2",
    "react-native-camera-kit": "^8.0.1",
    "react-native-circle-checkbox": "^0.1.6",
    "react-native-elements": "^1.1.0",
    "react-native-image-picker": "^1.1.0",
    "react-native-modal-datetime-picker": "^7.5.0",
    "react-native-signature-pad": "^0.1.0",
    "react-native-vector-icons": "^6.6.0",
    "react-native-webview": "^5.12.1",
    "react-navigation": "^3.12.1",
    "tcomb-form-native": "^0.6.20"
  },
  "devDependencies": {
    "babel-preset-expo": "^6.0.0"
  },
  "private": true
}

【问题讨论】:

  • 你打算如何运行你的项目?
  • @Andrew 我使用以下命令启动项目:npm run ios
  • 您是否尝试过通过 Xcode 构建应用程序?
  • @Andrew 是的,但是结果是一样的

标签: react-native expo


【解决方案1】:

您遇到的问题是,您在 App.js 中有一个来自“expo”包的 AppLoading,如果没有 que ExpoSDK,它就没有支持。您必须删除它并将字体放入 componentDidMount()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2021-01-27
    • 2017-11-15
    • 2013-04-14
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多