Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

react-native ios Podfile issue with "use_native_modules!"

In my react-native project ([email protected]) in the ios/ dir I run pod install and get this error:

[!] Invalid `Podfile` file: no implicit conversion of nil into String.   #  from /Users/coryrobinson/projects/hhs2/ios/Podfile:37  #  -------------------------------------------  #    >    use_native_modules!  #  end  #  -------------------------------------------  

I haven't added or changed anything in this Podfile - it's all react-native generated. (I'm not experienced in iOS dev so this might be a simple fix, I just don't know what to look for :-|) Thanks for any help!

Here is my Podfile

platform :ios, '9.0' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'  target 'hhs2' do   # Pods for hhs2   pod 'React', :path => '../node_modules/react-native/'   pod 'React-Core', :path => '../node_modules/react-native/React'   pod 'React-DevSupport', :path => '../node_modules/react-native/React'   pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook'   pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'   pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'   pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'   pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'   pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'   pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'   pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'   pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'   pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'   pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'   pod 'RNFS', :path => '../node_modules/react-native-fs'    pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'   pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'   pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'   pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'   pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'    pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'   pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'   pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'    target 'hhs2Tests' do     inherit! :search_paths     # Pods for testing   end    use_native_modules! end  target 'hhs2-tvOS' do   # Pods for hhs2-tvOS    target 'hhs2-tvOSTests' do     inherit! :search_paths     # Pods for testing   end  end 
like image 765
Cory Robinson Avatar asked Jul 06 '19 22:07

Cory Robinson


People also ask

What is iOS Podfile?

The Podfile is a specification that describes the dependencies of the targets of one or more Xcode projects. The file should simply be named Podfile . All the examples in the guides are based on CocoaPods version 1.0 and onwards.

What is flipper in Podfile?

Flipper (formerly Sonar) is a platform for debugging mobile apps on iOS and Android and, recently, even JS apps in your browser or in Node. js. Visualize, inspect, and control your apps from a simple desktop interface. Use Flipper as is or extend it using the plugin API.


1 Answers

Here is the correct answer:

1 - Your POD File should contain this line on top

require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 

2 - Make sure your package.json and node_module folders has this module installed

cli-platform-ios/native_modules

3 - If you didn't find after you run yarn install - means you have old cache node_modules in your machine and you need to clean it before reinstalling the package again.

4 - Clean cache yarn cache clean

5 - Make sure you have this file react-native.config.js and its configuration is VALID - and it doesn't have non-existing NPM packages - this step is LAST AND MOSTLY THE CAUSE of the error

Example of my react-native.config.js

module.exports = {   project: {     ios: {},     android: {},   },   assets: ['./assets/fonts/'],   dependencies: {}, // make sure this dependencies are all valid installed packages or empty if you don't need it }; 

6 - Install node packages yarn install and your pods should work now! pod install --repo-update

HAPPY coding!

like image 200
Meabed Avatar answered Sep 17 '22 12:09

Meabed