software-mansion / react-native-screens

Native navigation primitives for your React Native app.
https://docs.swmansion.com/react-native-screens/
MIT License
3.09k stars 519 forks source link

RNSScreenComponentDescriptor.h not found #2052

Closed atultiwaree closed 7 months ago

atultiwaree commented 8 months ago

Description

After running NO_FLIPPER=1 RCT_NEW_ARCH_ENABLED=1 npx pod-install I'm getting this error sometimes in react-native-pager-view sometimes in RNScreens

Before this I was getting contextContainer.h file not found so I changed .podspec file and error gone but I ended up getting this error

.podspec


require "json"

package = JSON.parse(File.read(File.join(__dir__, "package.json")))

fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'

# folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'

Pod::Spec.new do |s|
  s.name         = "RNScreens"
  s.version      = package["version"]
  s.summary      = package["description"]
  s.description  = <<-DESC
                  RNScreens - first incomplete navigation solution for your React Native app
                   DESC
  s.homepage     = "https://github.com/software-mansion/react-native-screens"
  s.license      = "MIT"
  # s.license    = { :type => "MIT", :file => "FILE_LICENSE" }
  s.author       = { "author" => "author@domain.cn" }
  s.platforms    = { :ios => "9.0", :tvos => "11.0" }
  s.source       = { :git => "https://github.com/software-mansion/react-native-screens.git", :tag => "#{s.version}" }

  if fabric_enabled
    # s.pod_target_xcconfig = {
    #   'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/boost" "$(PODS_ROOT)/boost-for-react-native"  "$(PODS_ROOT)/RCT-Folly"',
    #   "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
    # }
    s.platforms       = { ios: '11.0', tvos: '11.0' }
    # s.compiler_flags  = folly_compiler_flags + ' ' + '-DRCT_NEW_ARCH_ENABLED'
    s.source_files    = 'ios/**/*.{h,m,mm,cpp}'
    # s.requires_arc    = true

    # s.dependency "React"
    # s.dependency "React-RCTFabric"
    # s.dependency "React-Codegen"
    # s.dependency "RCT-Folly"
    # s.dependency "RCTRequired"
    # s.dependency "RCTTypeSafety"
    # s.dependency "ReactCommon/turbomodule/core"

    # s.subspec "common" do |ss|
    #   ss.source_files         = "common/cpp/**/*.{cpp,h}"
    #   ss.header_dir           = "rnscreens"
    #   ss.pod_target_xcconfig  = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/common/cpp\"" }
    # end
    install_modules_dependencies(s);
  else 
    s.source_files = "ios/**/*.{h,m,mm}"
    s.requires_arc = true

    s.dependency "React-Core"
    s.dependency "React-RCTImage"
  end
end

Steps to reproduce

"dependencies": { "@fawazahmed/react-native-read-more": "^3.0.3", "@gorhom/bottom-sheet": "^4.5.1", "@kolking/react-native-rating": "^1.1.3", "@notifee/react-native": "^7.8.0", "@react-native-async-storage/async-storage": "^1.19.1", "@react-native-clipboard/clipboard": "^1.12.1", "@react-native-community/hooks": "^3.0.0", "@react-native-community/netinfo": "^11.2.1", "@react-native-community/slider": "^4.4.3", "@react-native-community/viewpager": "^5.0.11", "@react-native-firebase/analytics": "^18.8.0", "@react-native-firebase/app": "^18.8.0", "@react-native-firebase/auth": "^18.8.0", "@react-native-firebase/dynamic-links": "^18.8.0", "@react-native-firebase/firestore": "^18.8.0", "@react-native-firebase/messaging": "^18.8.0", "@react-native-google-signin/google-signin": "^10.1.0", "@react-navigation/bottom-tabs": "^6.5.9", "@react-navigation/material-top-tabs": "^6.6.5", "@react-navigation/native": "^6.1.7", "@react-navigation/native-stack": "^6.9.13", "@react-navigation/stack": "^6.3.17", "@reduxjs/toolkit": "^1.9.5", "@shopify/flash-list": "^1.6.2", "axios": "^1.4.0", "console-log-colors": "^0.4.0", "dayjs": "^1.11.10", "ffmpeg-kit-react-native": "^6.0.1", "i": "^0.3.7", "lottie-react-native": "^6.6.0", "moment": "^2.29.4", "moment-timezone": "^0.5.43", "npm": "^10.4.0", "react": "18.2.0", "react-moment": "^1.1.3", "react-native": "^0.72.5", "react-native-android-open-settings": "^1.3.0", "react-native-blob-util": "^0.19.6", "react-native-calendars": "^1.1303.0", "react-native-date-picker": "^4.3.7-alpha.0", "react-native-device-info": "^10.11.0", "react-native-document-picker": "^9.0.1", "react-native-dropdown-select-list": "^2.0.5", "react-native-flipper": "^0.212.0", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "^2.13.4", "react-native-hyperlink": "^0.0.22", "react-native-image-crop-tools": "^1.6.4", "react-native-image-picker": "^7.1.0", "react-native-keyboard-aware-scroll-view": "^0.9.5", "react-native-linear-gradient": "^2.8.3", "react-native-mmkv": "^2.12.1", "react-native-modal": "^13.0.1", "react-native-nordic-dfu": "github:Salt-PepperEngineering/react-native-nordic-dfu", "react-native-pager-view": "^7.0.0-rc.0", "react-native-pdf": "^6.7.4", "react-native-pdf-thumbnail": "^1.2.1", "react-native-pie-chart": "^3.0.2", "react-native-pinchable": "^0.2.1", "react-native-progress": "^5.0.1", "react-native-ratings": "^8.1.0", "react-native-reanimated": "^3.7.0", "react-native-reanimated-table": "^0.0.2", "react-native-responsive-dimensions": "^3.1.1", "react-native-safe-area-context": "^4.7.0", "react-native-screens": "^3.21.0", "react-native-share": "^10.0.2", "react-native-snackbar": "^2.6.2", "react-native-sound": "^0.11.2", "react-native-splash-screen": "^3.3.0", "react-native-status-bar-height": "^2.6.0", "react-native-super-grid": "^5.0.0", "react-native-svg": "^14.1.0", "react-native-tab-view": "^3.5.2", "react-native-vector-icons": "^10.0.3", "react-native-video": "^6.0.0-alpha.11", "react-native-video-controls": "^2.8.1", "react-native-view-shot": "^3.8.0", "react-native-webview": "^13.6.4", "react-redux": "^8.1.2", "redux-flipper": "^2.0.2", "redux-persist": "^6.0.0", "socket.io-client": "^4.7.2" },

Snack or a link to a repository

https://github.com/private

Screens version

3.21.0

React Native version

0.72.5

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native (without Expo)

Architecture

Fabric (New Architecture)

Build type

Debug mode

Device

Real device

Device model

ios XR

Acknowledgements

Yes

github-actions[bot] commented 8 months ago

Hey! 👋

The issue doesn't seem to contain a minimal reproduction.

Could you provide a snack or a link to a GitHub repository under your username that reproduces the problem?

rivenshell commented 8 months ago

I'm Receiving a similar error.

Screens Version: "react-native-screens": "^3.29.0" "react-native": "0.73.5",

Screenshot 2024-02-27 at 3 49 53 PM

More Info: This error is located at: in RNSScreen in Unknown (created by InnerScreen) in Suspender (created by Freeze) in Suspense (created by Freeze) in Freeze (created by DelayedFreeze) in DelayedFreeze (created by InnerScreen) in InnerScreen (created by Screen) in Screen (created by MaybeScreen) in MaybeScreen (created by BottomTabView) in RNSScreenNavigationContainer (created by ScreenContainer) in ScreenContainer (created by MaybeScreenContainer) in MaybeScreenContainer (created by BottomTabView) in RNCSafeAreaProvider (created by SafeAreaProvider) in SafeAreaProvider (created by SafeAreaInsetsContext) in SafeAreaProviderCompat (created by BottomTabView) in BottomTabView (created by BottomTabNavigator) in PreventRemoveProvider (created by NavigationContent) in NavigationContent in Unknown (created by BottomTabNavigator) in BottomTabNavigator (created by App) in EnsureSingleNavigator in BaseNavigationContainer in ThemeProvider in NavigationContainerInner (created by App) in App in RCTView (created by View) in View (created by AppContainer) in RCTView (created by View) in View (created by AppContainer) in AppContainer in plotpoints(RootComponent), js engine: hermes

kkafar commented 8 months ago

This looks like the package is not being linked properly. I can not confirm the issue, as it works fine on my end however:

  1. Could you provide me with output of running: npx react-native config (in top level of your application directory)
  2. @atultiwaree Also, you re reporting issue on 3.21.0 version of the library, first thing to do is to verify whether this happens on latest version
  3. Idk what npx pod-install does under the hood exactly. It might be worth a shot to just run rm -fr node_modules yarn.lock && yarn install && cd ios && RCT_NEW_ARCH_ENABLED=1 pod install after updating library to latest version.