質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

4823閲覧

DockerでReact Nativeの開発環境を作って、iOS Simulatorを起動したいです。

shuhei-o

総合スコア2

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/09/17 10:20

前提・実現したいこと

Dockerを使ってReactNativeの開発環境を作り、iOSシミュレータを起動しようとしています。
Expo Developer Toolsを使ってiOSシミュレーターを起動しようとした際にxcodeをインストールしているのに、xcodeをインストールしてくださいというメッセージが出ます。

発生している問題・エラーメッセージ

iOSシミュレーターを起動しようとすると

✔ Xcode needs to be installed (don't worry, you won't have to use it), would you like to continue to the App Store? …

上記の確認が出て、yesとすると

Going to the App Store, re-run Expo when Xcode is finished installing.

このようなメッセージが出ますが、xcodeは既にインストールしています。

環境

Dockerfile

FROM amazonlinux:latest RUN yum update -y ## nodejs RUN curl -sL https://rpm.nodesource.com/setup_14.x | bash - RUN yum install nodejs -y RUN yum -y install wget RUN wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo RUN yum -y install yarn ## systemd RUN yum -y install systemd ## ReactNative RUN yarn global add expo-cli WORKDIR /srv/frontend/app

docker-compose.yaml

version: '3' services: app: build: . container_name: app_django ports: - "19000:19000" - "19001:19001" - "19002:19002" privileged: true volumes: - ./frontend:/srv/frontend/app command: /sbin/init environment: TZ: Asia/Tokyo EXPO_DEVTOOLS_LISTEN_ADDRESS: 0.0.0.0 tty: true

試したこと

1、xcodeの「Preferences」>「Locations」のCommand Line Toolsはすでに設定されております。
イメージ説明

2、xcodeでios 14.3 Simulatorをインストールしました。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Docker コンテナの中で yarn ios を実行してもコンテナの中に Xcode やシミュレータはありませんから動作しないと思います。
仮に Mac の /Application フォルダをコンテナにマウントしても、Mac の Command Line Tools がコンテナ内で実行できないので動作しないと推察されます。


どうしても Docker でやりたい場合、iOS や Android に関しては「Expo Go」アプリを利用しての実機確認になるのではないでしょうか?

なお、その際は docker-compose.yamlenvironmentREACT_NATIVE_PACKAGER_HOSTNAME: Macのローカルipアドレス を追加しないと QR コードのアドレスが 127.0.0.1 にされてしまうと思うので気をつけて下さい。もちろん、スマートフォンと Mac は同じ Wi-Fi ネットワークに接続されないといけません。

yml

1environment: 2 TZ: Asia/Tokyo 3 EXPO_DEVTOOLS_LISTEN_ADDRESS: 0.0.0.0 4 REACT_NATIVE_PACKAGER_HOSTNAME: xxx.xxx.xxx.xxx # あなたのMacのローカルIPアドレス

yarn start でコマンドラインに QR コードを出してくれるので、それをカメラで読み取れば「Expo Go」にアプリが描画されます。


それと、yarn web でウェブブラウザ用に公開する場合、19006 ポートを使われたことがあるので、それも docker-compose.yaml に足したほうがいいかも知れません。

yaml

1ports: 2 - "19000:19000" 3 - "19001:19001" 4 - "19002:19002" 5 - "19006:19006"

投稿2021/09/17 12:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shuhei-o

2021/09/17 22:43

ありがとうございます。 理解できました。この場合、React NativeなどをDockerなどではなくて、自分のPCに直接入れるのが、適切なのでしょうか。
退会済みユーザー

退会済みユーザー

2021/09/18 05:11

開発に関しては色々な事情や要件があるので一概には言えませんが、iOS アプリもビルドするつもりでしたら結局はそうする事になるかと思いますー。
shuhei-o

2021/09/18 07:21

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問