Expo Linking Error Because of DatePickerIOS

In my react native app built with Expo I have an alert that pops up when there’s a new version of the app available. Earlier this year this was working, but now when I test this in the simulator (same problem arises for the physical device) when a user clicks “Upgrade” the following error arises:

TypeError: undefined is not an object (evaluating ‘_expo.Linking.openURL’) Error: Unable to resolve module ./Libraries/Components/DatePicker/DatePickerIOS from /Users/username/Documents/ABC/abc-client-react/node_modules/react-native/index.js:

This related to this error:

None of these files exist:

  • node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS(.native|.native.ts|.ts|.native.tsx|.tsx|.native.js|.js|.native.jsx|.jsx|.native.json|.json)

The problem require statement looks like this:

import typeof DatePickerIOS from ‘./Libraries/Components/DatePicker/DatePickerIOS’;

I am running version 14.3.1 of XCode, and there don’t seem to be any additional updates available.

This is the code in question:

Alert.alert(
            'New Version Available',
            `App version ${newVersion.version} is now available.`,
            [
              {
                text: 'Upgrade',
                onPress: () => {
                  if (Platform.OS === 'ios') Linking.openURL(newVersion.iOS);
                  else Linking.openURL(newVersion.android);
                },
                style: 'default',
              },
              // Other code
            ],
            { cancelable: false }
          );

My package.json looks like this:

{
  "main": "node_modules/expo/AppEntry.js",
  "version": "1.0.59",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "postinstall": "patch-package"
  },
  "dependencies": {
    "@react-native-community/datetimepicker": "6.5.2",
    "@react-native-picker/picker": "^2.4.8",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/drawer": "^6.5.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.9.1",
    "@react-navigation/stack": "^6.3.2",
    "crypto-es": "^1.2.7",
    "crypto-js": "^4.1.1",
    "deprecated-react-native-prop-types": "2.2.0",
    "expo": "^47.0.0",
    "expo-av": "^13.0.2",
    "expo-crypto": "~12.0.0",
    "expo-device": "~5.0.0",
    "expo-linear-gradient": "~12.0.1",
    "expo-location": "~15.0.1",
    "expo-sqlite": "~11.0.0",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.6",
    "isaac": "^0.0.5",
    "lodash.clonedeep": "^4.5.0",
    "lodash.debounce": "^4.0.8",
    "lodash.isequal": "^4.5.0",
    "moment": "^2.29.4",
    "patch-package": "^6.4.7",
    "react": "18.1.0",
    "react-native": "0.70.5",
    "react-native-bcrypt": "^2.4.0",
    "react-native-draggable-flatlist": "^4.0.0",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-get-random-values": "~1.8.0",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-keyboard-spacer": "^0.4.1",
    "react-native-modal-selector": "^2.1.2",
    "react-native-open-maps": "^0.4.0",
    "react-native-randombytes": "^3.6.1",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-signature-pad": "^0.1.2",
    "react-native-svg-charts": "^5.4.0",
    "react-native-tab-view": "^3.3.4",
    "react-native-webview": "11.23.1",
    "react-navigation": "^4.4.4",
    "react-navigation-drawer": "^2.7.2",
    "react-redux": "^8.0.4",
    "react-serialize": "^0.2.1",
    "redux": "^4.2.0",
    "redux-thunk": "^2.4.1",
    "serialize-javascript": "^6.0.0",
    "socket.io-client": "2.1.0"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3"
  },
  "private": true
}

To clarify, the build works. It’s just when I fire this one function that this happens.

How can I resolve this situation?

I’m having the same problem. Updated to xcode version 14.3.1 and this problem appeared.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.