react-native-launch-arguments
React Native module to get launch arguments. Make passing parameters from testing tool to react native super easy.
Mostly it's made for using:
-
launchArgs parameter of device.launchApp method
of Detox (see the launch arguments guide for full details) -
optionalIntentArguments (Android)
andprocessArguments (iOS)
parameters with Appiumcapabilities: { optionalIntentArguments: `--ez myBool true --es myStr 'string text'`, // Android processArguments: {args : ['-myBool', 'true','-myStr', 'string text']}, // iOS }
-
arguments parameter of launchApp command
of Maestro- launchApp: appId: "com.example.app" arguments: foo: "This is a string" isFooEnabled: false fooValue: 3.24 fooInt: 3
iOS: it takes data from [[NSProcessInfo processInfo] arguments]
Android: it takes data from currentActivity.getIntent().getBundleExtra("launchArgs")
for detox and intent.getExtras()
for ADB params
Getting started
npm i react-native-launch-arguments
cd ios && pod install && cd ..
Usage
In JS:
import { LaunchArguments } from "react-native-launch-arguments";
LaunchArguments.value();
In TS:
import { LaunchArguments } from "react-native-launch-arguments";
interface MyExpectedArgs {
authToken?: string;
skipAuth?: boolean;
}
LaunchArguments.value<MyExpectedArgs>();
Caveats
Due to React Native issue #37518, on Android, the module force-waits for the Android activity to reach the RESUMED state, before moving foward with native-modules initialization completion. While commonly the wait is scarce (the activity is already in the resumed state at this point), until the RN issue is fixed, the module may introduce delays in app loading time in some edge cases.
Verifying install
To launch the app with arguments, verifying your install, you can:
iPhone simulator
You can use xcrun
to boot your app on the simulator.
The following command-line will load your app on the booted iOS simulator. Just
replace com.MyAppBundleId
with your Bundle Identifier, and the params
with
your params.
xcrun simctl launch booted com.MyAppBundleId -noParams -param "hello"