Skip to content

[Bug]: No such module 'OneSignalExtension' #1918

@khanhduy62

Description

@khanhduy62

What happened?

In Expo project, I already installed OneSignalExtension. However I'm facing the issue "OneSignalExtension No such module"

MacOS: 26.3.1
Xcode: 26.3
react-native-onesignal: 5.2.16
react-native: 0.81.5
expo: ~54.0.30

My PodFile:


require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
  'require.resolve(
    "react-native/scripts/react_native_pods.rb",
    {paths: [process.argv[1]]},
  )', __dir__]).strip

ENV['RCT_NEW_ARCH_ENABLED'] = '0' if ENV['RCT_NEW_ARCH_ENABLED'] == 'false'
ENV['RCT_USE_RN_DEP'] = '1' if ENV['RCT_NEW_ARCH_ENABLED'] != 'false'
ENV['RCT_USE_PREBUILT_RNCORE'] = '1' if ENV['RCT_NEW_ARCH_ENABLED'] != 'false'

platform :ios, '15.1'
use_modular_headers!
prepare_react_native_project!

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

target 'AxiaGram' do
  use_expo_modules!

  if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1'
    config_command = ['node', '-e', "process.argv=['', '', 'config'];require('@react-native-community/cli').run()"];
  else
    config_command = [
      'npx',
      'expo-modules-autolinking',
      'react-native-config',
      '--json',
      '--platform',
      'ios'
    ]
  end

  config = use_native_modules!(config_command)

  use_react_native!(
    :path => config[:reactNativePath],
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  # pod 'MicrosoftCognitiveServicesSpeech-iOS', '1.14.0'
  # React Native Maps dependencies
  pod 'IQKeyboardManager'
  rn_maps_path = '../node_modules/react-native-maps'
  pod 'react-native-google-maps', :path => rn_maps_path
  pod 'GoogleMaps'
  pod 'Google-Maps-iOS-Utils'
  pod 'OpenSSL-Universal', '~>1.1.180'
  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'RNPermissions', :path => '../node_modules/react-native-permissions'
  pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone"
  pod 'Permission-Camera', :path => "#{permissions_path}/Camera"

  pod 'react-native-onesignal', :path => '../node_modules/react-native-onesignal'

  target 'AxiaGramTests' do
    inherit! :complete
    # Pods for testing
  end
  
  post_install do |installer|
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false,
      # :ccache_enabled => true
    )
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |build_config|
        # Remove arm64 exclusion to run natively on Apple Silicon
        build_config.build_settings.delete("EXCLUDED_ARCHS[sdk=iphonesimulator*]")
        build_config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1'
      end
    end
  end

end

# OneSignal Notification Service Extension target
target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignalXCFramework', '>= 5.0.0', '< 6.0'
end

Steps to reproduce?

1. rm -rf Podfile.lock Pods
2. pod deintegrate
3. pod install --repo-update

What did you expect to happen?

Expect my app can run

React Native OneSignal SDK version

5.2.16

Which platform(s) are affected?

  • iOS
  • Android

Relevant log output

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions