Expo SDK 48 - Can't build iOS native package

Hello,

I’m updating my version of expo from 46 to 48 and using the bare workflow of expo.

I updated the packages as well as remade the native android and ios packages.

But when compiling the ios project in Xcode 14, I have 3 errors due to the “ExpoModulesCore” module. I am attaching a screenshot of my errors.

Thanks in advance.

Podfile :

require File.join(File.dirname('node --print "require.resolve('expo/package.json')"'), "scripts/autolinking")
require File.join(File.dirname('node --print "require.resolve('react-native/package.json')"'), "scripts/react_native_pods")
require File.join(File.dirname('node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"'), "native_modules")

require 'json'
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}

ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0'

platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0'
install! 'cocoapods',
  :deterministic_uuids => false

prepare_react_native_project!

# If you are using a 'react-native-flipper' your iOS build will fail when 'NO_FLIPPER=1' is set.
# because 'react-native-flipper' depends on (FlipperKit,...), which will be excluded. To fix this,
# you can also exclude 'react-native-flipper' in 'react-native.config.js'
#
# '''js
# module.exports = {
#   dependencies: {
#     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
#   }
# }
# '''
flipper_config = FlipperConfiguration.disabled
if ENV['NO_FLIPPER'] == '1' then
  # Explicitly disabled through environment variables
  flipper_config = FlipperConfiguration.disabled
elsif podfile_properties.key?('ios.flipper') then
  # Configure Flipper in Podfile.properties.json
  if podfile_properties['ios.flipper'] == 'true' then
    flipper_config = FlipperConfiguration.enabled(["Debug", "Release"])
  elsif podfile_properties['ios.flipper'] != 'false' then
    flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] })
  end
end

target 'MyWorkspace' do
  use_expo_modules!
# @generated begin react-native-maps - expo prebuild (DO NOT MODIFY) sync-e9cc66c360abe50bc66d89fffb3c55b034d7d369
  pod 'react-native-google-maps', path: File.dirname('node --print "require.resolve('react-native-maps/package.json')"')
# @generated end react-native-maps
  config = use_native_modules!

  use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
  use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']

  # Flags change depending on the env values.
  flags = get_default_flags()

  use_react_native!(
    :path => config[:reactNativePath],
    :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',
    :fabric_enabled => flags[:fabric_enabled],
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/..",
    # Note that if you have use_frameworks! enabled, Flipper will not work if enabled
    :flipper_configuration => flipper_config
  )

  post_install do |installer|
    react_native_post_install(
      installer,
      config[:reactNativePath],
      # Set 'mac_catalyst_enabled' to 'true' in order to apply patches
      # necessary for Mac Catalyst builds
      :mac_catalyst_enabled => false
    )
    __apply_Xcode_12_5_M1_post_install_workaround(installer)

    # This is necessary for Xcode 14, because it signs resource bundles by default
    # when building for devices.
    installer.target_installation_results.pod_target_installation_results
      .each do |pod_name, target_installation_result|
      target_installation_result.resource_bundle_targets.each do |resource_bundle_target|
        resource_bundle_target.build_configurations.each do |config|
          config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
        end
      end
    end
  end

  post_integrate do |installer|
    begin
      expo_patch_react_imports!(installer)
    rescue => e
      Pod::UI.warn e
    end
  end
end

package.json :

  "name": "@myworkspace/default",
  "version": "1.1.0",
  "private": true,
  "main": "index.js",
  "scripts": {
    "postinstall": "expo-yarn-workspaces postinstall",
    "start": "expo start --dev-client",
    "start_adb": "adb reverse tcp:63883 tcp:63883 && npx expo start --localhost",
    "start_client": "npx expo start --dev-client",
    "start_client_adb": "adb reverse tcp:63883 tcp:63883 && npx expo start --dev-client",
    "init_client_android": "npx expo run:android",
    "test": "jest",
    "android": "expo run:android",
    "ios": "expo run:ios"
  },
  "dependencies": {
    "@openspacelabs/react-native-zoomable-view": "^2.0.4",
    "@ptomasroos/react-native-multi-slider": "^2.2.2",
    "@react-native-async-storage/async-storage": "1.17.11",
    "@react-native-community/datetimepicker": "6.7.3",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-community/push-notification-ios": "^1.10.1",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/stack": "^6.3.1",
    "@xilosin/react-native-snap-carousel": "^3.9.2",
    "axios": "^0.27.2",
    "buffer": "^6.0.3",
    "expo": "~48.0.6",
    "expo-application": "~5.1.1",
    "expo-barcode-scanner": "~12.3.2",
    "expo-blur": "~12.2.2",
    "expo-camera": "~13.2.1",
    "expo-constants": "~14.2.1",
    "expo-dev-client": "~2.1.5",
    "expo-dev-menu-interface": "^0.7.2",
    "expo-document-picker": "~11.2.1",
    "expo-face-detector": "~12.1.1",
    "expo-file-system": "~15.2.2",
    "expo-font": "~11.1.1",
    "expo-image-manipulator": "~11.1.1",
    "expo-image-picker": "~14.1.1",
    "expo-intent-launcher": "~10.5.2",
    "expo-linear-gradient": "~12.1.2",
    "expo-linking": "~4.0.1",
    "expo-local-authentication": "~13.2.1",
    "expo-localization": "~14.1.1",
    "expo-location": "~15.1.1",
    "expo-media-library": "~15.2.2",
    "expo-modules-autolinking": "~1.1.0",
    "expo-network": "~5.2.1",
    "expo-permissions": "~14.1.1",
    "expo-secure-store": "~12.1.1",
    "expo-sharing": "~11.2.2",
    "expo-splash-screen": "~0.18.1",
    "expo-status-bar": "~1.4.4",
    "expo-updates": "~0.16.3",
    "i18next": "^21.9.2",
    "jest": "^29.2.1",
    "jest-expo": "^48.0.0",
    "jwt-decode": "^3.1.2",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "moment-business-days": "^1.2.0",
    "querystring": "^0.2.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-i18next": "^11.18.6",
    "react-native": "0.71.3",
    "react-native-blob-util": "0.16.4",
    "react-native-calendar-picker": "^7.1.2",
    "react-native-calendars": "^1.1289.0",
    "react-native-deep-linking": "^2.2.0",
    "react-native-elements": "^3.4.2",
    "react-native-fast-image": "^8.6.1",
    "react-native-gesture-handler": "~2.9.0",
    "react-native-maps": "1.3.2",
    "react-native-modal": "^13.0.1",
    "react-native-modalize": "^2.1.1",
    "react-native-pdf": "^6.6.2",
    "react-native-portalize": "^1.0.7",
    "react-native-push-notification": "^8.1.1",
    "react-native-reanimated": "~2.14.4",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "4.5.0",
    "react-native-screens": "~3.20.0",
    "react-native-svg": "13.4.0",
    "react-native-tab-view": "^3.1.1",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "~0.18.10",
    "react-native-webview": "11.26.0",
    "react-redux": "^8.0.2",
    "redux": "^4.2.0",
    "victory-native": "^36.6.7"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@expo/metro-config": "^0.3.22",
    "babel-jest": "^29.0.3",
    "babel-plugin-transform-inline-environment-variables": "^0.4.4",
    "jest-environment-jsdom": "^27.5.1",
    "metro-react-native-babel-preset": "^0.72.3",
    "react-native-testing-library": "6.0.0",
    "react-test-renderer": "18",
    "redux-mock-store": "1.5.4"
  },
  "expo-yarn-workspaces": {
    "symlinks": [
      "expo-application",
      "expo-barcode-scanner",
      "expo-blur",
      "expo-camera",
      "expo-constants",
      "expo-dev-client",
      "expo-dev-menu-interface",
      "expo-document-picker",
      "expo-face-detector",
      "expo-file-system",
      "expo-font",
      "expo-image-picker",
      "expo-intent-launcher",
      "expo-linear-gradient",
      "expo-linking",
      "expo-local-authentication",
      "expo-localization",
      "expo-location",
      "expo-media-library",
      "expo-modules-autolinking",
      "expo-network",
      "expo-permissions",
      "expo-sharing",
      "expo-splash-screen",
      "expo-status-bar",
      "expo-updates",
      "expo-image-manipulator",
      "expo-secure-store",
      "react-native-reanimated",
      "@react-native-community/datetimepicker"
    ]
  }
}

Error :

Environment :

System:
   OS: macOS 13.2.1
   Shell: 5.8.1 - /bin/zsh
Binaries:
   Node: 16.19.1 - /usr/local/bin/node
   Yarn: 1.22.19 - /opt/homebrew/bin/yarn
   npm: 8.19.3 - /opt/homebrew/opt/node@16/bin/npm
Managers:
   CocoaPods: 1.12.0 - /opt/homebrew/bin/pod
SDKs:
   iOS SDK:
      Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
IDEs:
   Android Studio: 2022.1 AI-221.6008.13.2211.9514443
   Xcode: 14.2/14C18 - /usr/bin/xcodebuild

Up please

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