Tools: Do not run "pod install" by default

pull/9192/head
Laurent Cozic 2023-11-02 10:23:00 +00:00
parent 4478ce118a
commit 2b9d519f4b
2 changed files with 21 additions and 2 deletions

View File

@ -3,6 +3,16 @@ const execa = require('execa');
module.exports = async function() {
if (process.platform !== 'darwin') return Promise.resolve();
if (!process.env.RUN_POD_INSTALL) {
// We almost never need to run `pod install` either because it has
// already been done, or because we are not building the iOS app, yet
// it's taking most of the build time (3 min out of the 5 min needed to
// build the entire monorepo). If it needs to be ran, XCode will tell us
// anyway.
console.warn('**Not** running `pod install` - set `RUN_POD_INSTALL` to `1` to do so');
return Promise.resolve();
}
try {
const promise = execa('pod', ['install'], { cwd: `${__dirname}/../ios` });
promise.stdout.pipe(process.stdout);

View File

@ -49,12 +49,21 @@ You can also run it under WSL 2. To do so, [follow these instructions](https://w
First you need to setup React Native to build projects with native code. For this, follow the instructions in the [Setting up the development environment](https://reactnative.dev/docs/environment-setup) tutorial, in the "React Native CLI Quickstart" tab.
Then, for **Android**:
### Android
Run this to build and install the app on the emmulator:
cd packages/app-mobile/android
./gradlew installDebug # or gradlew.bat installDebug on Windows
On **iOS**, open the file `ios/Joplin.xcworkspace` on XCode and run the app from there.
### iOS
On iOS, you need to run `pod install`, which is not done automatically during build time (since it takes too long). You have two options:
- Build the app using `RUN_POD_INSTALL=1 yarn install`
- Or manually run `pod install` from `packages/app-mobile/ios`
Once this is done, open the file `ios/Joplin.xcworkspace` on XCode and run the app from there.
Normally the **bundler** should start automatically with the application. If it doesn't, run `yarn start` from `packages/app-mobile`.