React Native 图像选择器:"undefined is not an object (evaluating 'ImagePickerManager.showImagePicker')"

React Native Image Picker: "undefined is not an object (evaluating 'ImagePickerManager.showImagePicker')"

我按照 react-native-image-picker 的自述文件进行手动和自动链接(分别尝试)。

当我使用 react-native run-ios 从终端启动模拟器时,出现错误。从 Xcode 启动时它工作正常,我可以毫无问题地访问 CameraRoll 选择器。

以下是我使用的版本:

"react-native": "0.43.3", "react-native-image-picker": "^0.26.3",

我在这里看到了一个类似的帖子 Whosebug 看来我不是唯一遇到此问题的人。

感谢您的帮助。

完整错误:

undefined is not an object (evaluating 'ImagePickerManager.showImagePicker')

showImagePicker
    index.js:28:30
selectPhotoTapped
    CamPick.js:31:32
touchableHandlePress
    TouchableOpacity.js:126:45
_performSideEffectsForTransition
    Touchable.js:746:34
_receiveSignal
    Touchable.js:664:44
touchableHandleResponderRelease
    Touchable.js:433:24
invokeGuardedCallback
    ReactErrorUtils.js:30:9
executeDispatch
    EventPluginUtils.js:99:42
executeDispatchesInOrder
    EventPluginUtils.js:127:20
executeDispatchesAndRelease
    EventPluginHub.js:37:46
forEachAccumulated
    forEachAccumulated.js:30:16
processEventQueue
    EventPluginHub.js:227:8
runEventQueueInBatch
    ReactEventEmitterMixin.js:18:35
handleTopLevel
    ReactEventEmitterMixin.js:38:25
<unknown>
    ReactNativeEventEmitter.js:113:8
perform
    Transaction.js:149:24
batchedUpdatesWithControlledComponents
    ReactGenericBatching.js:51:26
_receiveRootNodeIDEvent
    ReactNativeEventEmitter.js:111:40
receiveTouches
    ReactNativeEventEmitter.js:200:8
__callFunction
    MessageQueue.js:244:47
<unknown>
    MessageQueue.js:108:26
guard
    MessageQueue.js:46:4
callFunctionReturnFlushedQueue
    MessageQueue.js:107:10

似乎 Xcode 没有正确链接文件,对我有用的技巧是:

  1. 打开Xcode项目'MainProject.xcodeproj'
  2. 在图书馆的 MainProject 下,我会去寻找 RNImagePicker.xcodeproj
  3. 在 RNImagePicker.xcodeproj 下,我会右键单击并删除两个文件 ImagePickerManager.h 和 ImagePickerManager.m
  4. 右键单击 RNImagePicker.xocdeproj 到 'Add files to ...',然后 select 来自 'node_modules/react-native-maps/ios/ImagePickerManager.h and ImagePickerManganer.m'
  5. 的两个文件

希望对遇到同样问题的人有所帮助 ;)