对于React Native中的navigator.geolocation,Native模块不能为null

时间:2017-09-25 20:29:25

标签: javascript reactjs react-native

我有一个反应原生应用程序(v0.42.0),我正在尝试使用Geolocation,但当我navigator.geolocation以下内容时:

  

Native模块不能为null。

是否有其他人遇到此问题或知道如何诊断原因?

3 个答案:

答案 0 :(得分:1)

事实证明,当使用Cocoapods和React Native时,必须在RCTGeolocation中加入Podfile

pod 'React', :path => '../some/path/node_modules/react-native', :subspecs => [
  'Core',
  'RCTAnimation',
  'RCTImage',
  'RCTText',
  'RCTWebSocket', # needed for debugging
  'RCTLinkingIOS',
  'ART',
  'RCTPushNotification',
  'RCTActionSheet',
  'RCTGeolocation'
]

答案 1 :(得分:0)

除了RCTGeolocation中的Podfile条目之外,如果仍然遇到相同的错误,请检查以下内容:

确保Xcode项目中包括RCTGeolocation项目。如果没有,添加它;它位于node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj

enter image description here

添加项目后,请确保也链接到它。在文件资源管理器中选择根项目,在TARGETS中选择正确的目标,然后选择“常规”选项卡。因为您已在上一步中添加了项目,所以现在可以找到并添加libRCTGeolocation.a

enter image description here

答案 2 :(得分:0)

确保您具有: pod 'react-native-geolocation', path: '../node_modules/@react-native-community/geolocation'在您的pod文件中。