web-dev-qa-db-ja.com

expoプロジェクトをネイティブコードに取り出す方法

コマンドnpm run ejectを使用してexpoからプロジェクトをイジェクトします。 2つのフォルダーiosおよびAndroidを生成します。 xcodeでプロジェクトを実行しようとしましたが、まだこのエラーが表示されます。イジェクト後にプロジェクトを実行する方法がわからないかもしれませんが、実行するのを手伝ってもらえますか?いくつかのステートメントを実行してpodをインストールしますが、動作しません https://github.com/CocoaPods/CocoaPods/issues/23

enter image description here

7
Hoai Truong

したがって、イジェクトでは、2つのオプションが表示されるはずです。

? 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プロジェクトを開いてアプリを実行しても問題はありません(インストールするポッドもありません)。エラーとコメントは別の方法で示しているので、オプション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 ...

その後、 ExpoKitを使用した開発 の手順に従う必要があります。具体的には、iOSを実行するには、npm run ejectを実行した後、すべての手順 このセクション に従う必要があります。

すべて完了したら、 Expo XDE または exp と組み合わせて実行すると正常に動作するはずです。私は今両方をテストしましたが、エラーなしで動作します。手順を再確認して、何かを見逃していないことを確認してください。それ以外の場合は、実行したコマンド、実行している他の依存関係などについて詳細に質問を編集してください。エラーは再現できません。

5
Michael Cheng

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フォルダーを作成し、依存関係をやり直す必要があります。同じ問題に苦労していたため、ソリューションを投稿しました)

4
Pratik Khadka