What is @react-native-community/cli-platform-apple?
@react-native-community/cli-platform-apple is a part of the React Native CLI tools specifically designed to handle tasks related to the Apple ecosystem, such as building and running iOS applications. It provides a set of commands and utilities to streamline the development process for React Native apps on iOS.
What are @react-native-community/cli-platform-apple's main functionalities?
Run iOS Application
This command builds and runs the iOS application on a simulator or a connected device. It simplifies the process of launching the app for development and testing.
npx react-native run-ios
Build iOS Application
This command builds the iOS application, generating the necessary build artifacts. It is useful for preparing the app for distribution or further testing.
npx react-native build-ios
Link Native Dependencies
This command links native dependencies to the iOS project. It automates the process of adding native modules to the Xcode project, making it easier to integrate third-party libraries.
npx react-native link
Other packages similar to @react-native-community/cli-platform-apple
react-native-cli
The react-native-cli package provides a command-line interface for React Native projects, including commands for initializing new projects, running applications, and linking native dependencies. It is a more general tool compared to @react-native-community/cli-platform-apple, which is specifically focused on the Apple ecosystem.
fastlane
Fastlane is an open-source platform aimed at simplifying Android and iOS deployment. It automates the process of building, testing, and releasing mobile applications. While it is not specific to React Native, it offers extensive capabilities for managing iOS builds and deployments, making it a powerful tool for mobile developers.
xcodebuild
Xcodebuild is a command-line tool provided by Apple for building and testing iOS and macOS applications. It is a lower-level tool compared to @react-native-community/cli-platform-apple, offering more granular control over the build process but requiring more detailed configuration.
This package is part of the React Native CLI. It contains utilities for building reusable commands targeting Apple platforms.
Installation
yarn add @react-native-community/cli-platform-apple
Usage
This package is intended to be used internally in React Native CLI and by out of tree platforms.
It exports builder commands that can be used to create custom run-
, log-
and build-
commands for example: yarn run-<oot-platform>
.
Inside of <oot-platform>/packages/react-native/react-native.config.js
:
const {
getBuildOptions,
createBuild,
} = require('@react-native-community/cli-platform-apple');
const buildVisionOS = {
name: 'build-visionos',
description: 'builds your app for visionOS platform',
func: createBuild({platformName: 'visionos'}),
examples: [
{
desc: 'Build the app for visionOS in Release mode',
cmd: 'npx react-native build-visionos --mode "Release"',
},
],
options: getBuildOptions({platformName: 'visionos'}),
};
module.exports = {
commands: [buildVisionOS],
};
cli-platform-apple
also exports utilities to create OOT platform config.
getProjectConfig()
- creates project config for given platformgetDependencyConfig()
- creates dependency config for given platform
Example (<oot-platform>/packages/react-native/react-native.config.js
):
platforms: {
visionos: {
npmPackageName: '@callstack/react-native-visionos',
projectConfig: getProjectConfig({platformName: 'visionos'}),
dependencyConfig: getDependencyConfig({platformName: 'visionos'}),
},
..
},