For the complete documentation index, see llms.txt. This page is also available as Markdown.

Native Module iOS

How to Create a Native Module in iOS

This detailed guide explains how to create a native module for the iOS platform within a React Native application. The process follows the step-by-step instructions from the official documentation.

1. Open the iOS Project in Xcode

First, open the iOS project of your React Native application in Xcode. You can find the iOS project in the folder: YourApp/ios/your-app-name.xcworkspace.

Using Xcode helps in quickly identifying issues, such as syntax errors, and provides powerful tools for iOS development.

2. Create the Native Module

Create a file named CafSmartAuthBridgeModule.swift in the directory ios/. This file will contain the class that implements the native module.

Key Functions of the CafSmartAuthBridgeModule Class

  • requiresMainQueueSetup: Indicates whether the module needs to be set up on the main queue. Returns true.

  • supportedEvents: Returns the list of events that the module can emit to React Native.

  • build: Creates and configures an instance of the CafSmartAuthSdk using the provided parameters.

  • emitEvent: Emits events from the native side to React Native.

  • setupListener: Sets up a listener to monitor the status of authentication operations.

  • startSmartAuth: A method exposed to React Native to initiate smart authentication.

Example Implementation of the CafSmartAuthBridgeModule.swift File

3. Create the CafSmartAuthBridgeSettings.swift File

This file will handle the interpretation of data sent from React Native to the native module.

Example Implementation:

4. Register the Native Module

Create the main header and implementation files for the custom native module. Create a new file named CafSmartAuthBridge.h.

Example Implementation:

To make the native module recognizable by React Native, create the file CafSmartAuthBridge.mm in the same directory:

Example Implementation:

5. Create the Bridging Header for Swift and Objective-C

Whenever you mix Swift and Objective-C in an iOS project, a bridging header file is required. This file allows Swift to access functionalities implemented in Objective-C, including React Native APIs.

In the same directory as the Swift file, create the file CafSmartAuthBridge-Bridging-Header.h.

Example Implementation of the Bridging Header File

Configuration Steps

  1. Ensure the CafSmartAuthBridge-Bridging-Header.h file is included in the Objective-C Bridging Header field in Build Settings (Build Settings > Swift Compiler - General > Objective-C Bridging Header).

  2. Provide the relative path to the file, e.g.,

Last updated