Troubleshooting Initialization

Troubleshoot common initialization issues and apply solutions.

When following steps in Getting Started or Advanced Configuration, if you don’t see a channel ID in the logs or encounter errors during initialization, review the following common problems and solutions.

Installation Errors

If you encounter errors during installation:

  • Verify that you’re using a compatible version of React Native. See Requirements in Getting Started.
  • Ensure all native dependencies are properly linked.
  • Check that your iOS and Android projects are correctly configured.

Initialization Errors

If you encounter errors during SDK initialization:

  • Verify your credentials in the Airship dashboard. The credentials used by takeOff are your Airship project’s App KeyThe unique identifier for your Airship project. It is used to authenticate the application for API calls. and App SecretA secret used to authorize requests for low-security API calls. It is intended to be embedded in your distributed application, and as such is limited in what it can do.. To find them, select the dropdown menu () next to your project name, and then Project details.
  • Check that takeOff is called correctly in your app.
  • Ensure both iOS and Android native modules are properly installed.

Expo: iOS Build Errors with Missing Headers

If you encounter iOS build errors with messages like 'tuple' file not found, 'iosfwd' file not found, or 'generated/RNAirshipSpec/RNAirshipSpec.h' file not found, this is typically caused by a compatibility issue between Expo and React Native’s C++ headers.

This usually happens when:

  • You’re using use_frameworks! :linkage => :static in your Podfile
  • Your Expo SDK version has an incompatible expo-dev-menu dependency

To fix this issue:

  • Add a resolution to your package.json to force a compatible version:

    {
      "resolutions": {
        "expo-dev-menu": "X.X.X" // Replace with compatible version (e.g., 6.0.21)
      }
    }
  • Or update expo-dev-client to the latest version.

  • Run npm install and pod install again.

If you’re running Firebase alongside Airship, see Extending the FirebaseMessagingService for Android configuration.