No such module 'EXDevLauncher'
See original GitHub issueSummary
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:
- Created a year ago
- Comments:13 (3 by maintainers)
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:
I hope it helps
@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.