question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

No such module 'EXDevLauncher'

See original GitHub issue

Summary

When running an archive on Xcode, during the last stages the “No such module ‘EXDevLauncher’” error is being displayed. Additionally I get “Command EmitSwiftModule failed with a nonzero exit code”. I’ve followed all the steps in the issue here: https://github.com/expo/expo/issues/17246 with no avail.

Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!

bare

What platform(s) does this occur on?

iOS

SDK Version (managed workflow only)

SDK45

Environment

expo-env-info 1.0.4 environment info: System: OS: macOS 12.4 Shell: 5.8.1 - /bin/zsh Binaries: Node: 16.15.0 - /usr/local/bin/node npm: 8.5.5 - /usr/local/bin/npm Watchman: 2022.05.16.00 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.11.3 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5 IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8512546 Xcode: 13.4/13F17a - /usr/bin/xcodebuild npmPackages: expo: ^45.0.0 => 45.0.4 react: 17.0.2 => 17.0.2 react-dom: 17.0.2 => 17.0.2 react-native: 0.68.2 => 0.68.2 react-native-web: 0.17.7 => 0.17.7 npmGlobalPackages: eas-cli: 0.54.1 expo-cli: 5.4.6 Expo Workflow: bare

Reproducible demo

Archive from Xcode

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 {}

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

target 'filmfinder' do
  use_expo_modules!
  config = use_native_modules!

  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary/Permission-MediaLibrary.podspec"
  pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications/Permission-Notifications.podspec"
  pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary/Permission-PhotoLibrary.podspec"
  pod 'Google-Mobile-Ads-SDK'
  pod 'GoogleMobileAdsMediationFacebook', '6.11.0.0'
  pod 'expo-dev-menu', path: '../node_modules/expo-dev-menu', :configurations => :debug
  pod 'expo-dev-launcher', path: '../node_modules/expo-dev-launcher', :configurations => :debug  

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

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

  use_react_native!(
    :path => config[:reactNativePath],
    :hermes_enabled => flags[:hermes_enabled] || podfile_properties['expo.jsEngine'] == 'hermes',
    :fabric_enabled => flags[:fabric_enabled],
    # An absolute path to your application root.
    :app_path => "#{Dir.pwd}/.."
  )

  # Uncomment to opt-in to using Flipper
  # Note that if you have use_frameworks! enabled, Flipper will not work
  #
  # if !ENV['CI']
  #   use_flipper!()
  # end


  post_install do |installer|
    react_native_post_install(installer)
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
    installer.pods_project.build_configurations.each do |config|
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
         config.build_settings['ENABLE_BITCODE'] = 'NO'
      end
    end
  end

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

end

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:13 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
wsanadacommented, Nov 24, 2022

I solved it by removing “-D EXPO_CONFIGURATION_DEBUG” statement from TARGETS > Build Settings > Other Swift Flags > Release in my XCode project.

So it goes like this: image

I hope it helps

2reactions
fullstack17commented, Sep 21, 2022

@adamsadiq7 I’m still having got this issue although my current code is same as the above. expo version is 45 and it’s bare expo. Screenshot 2022-09-21 at 08 36 03

Read more comments on GitHub >

github_iconTop Results From Across the Web

SDK 45 beta 8 - No such module 'EXDevLauncher ... - GitHub
Summary EAS Build (local) fails with Fastlane error: `[RUN_FASTLANE] ❌ (ios/Pods/Target Support Files/Pods-xx/ExpoModulesProvider.swift:9:8) 7 | 8 | import ...
Read more >
Getting error "No such module" using Xcode, but the ...
The frameworks is in Objective-C, so I wrote a Bridge Header for it. Please, how can I make Xcode recognize the framework? Error...
Read more >
Xcode 12.0.1 "No such module" | Apple Developer Forums
1 I can't build my projects anymore. Each time I do I get "No such module..." for each Pod. I haven't made any...
Read more >
`No Such Module` in Code Analysis : OC-15613 - YouTrack
TEMPORARY WORKAROUND: build target for real device (or "iOS Device" placeholder). I have a Swift project with two different targets, one is for...
Read more >
IOS Swift : Error Appears No Such Module in pods when run in ...
Error Not appear when Run in physical device iPhone but , appear when try to run in simulator : error description is No...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found