eas-cli: error: emit-module command failed with exit code 1 when building a simulator build.
Build/Submit details page URL
https://expo.dev/accounts/zeal-pay/projects/zeal-brgr/builds/5abb0988-ffa7-4d25-885e-94976cbd181e
Summary
when building a simulator build ios.simulator: true
I get the following error
[RUN_FASTLANE] › Packaging Pods/CocoaAsyncSocket » libCocoaAsyncSocket.a
[RUN_FASTLANE]
❌ error: emit-module command failed with exit code 1 (use -v to see invocation)
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE] › Compiling react-native-paymob Pods/react-native-paymob » Paymob.swift
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE]
❌ error: emit-module command failed with exit code 1 (use -v to see invocation)
[RUN_FASTLANE] › Compiling react-native-paymob Pods/react-native-paymob » Paymob.swift
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
this happens only when ios.simulator: true I tried to reproduce without it but it worked fine.
Managed or bare?
both
Environment
expo-env-info 1.0.5 environment info:
System:
OS: macOS 12.4
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.14.0 - ~/.n/bin/node
Yarn: 1.22.5 - ~/.yarn/bin/yarn
npm: 8.3.1 - ~/.n/bin/npm
Watchman: 4.9.0 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK:
API Levels: 29, 30, 31
Build Tools: 29.0.2, 30.0.2, 30.0.3, 31.0.0
System Images: android-29 | Intel x86 Atom, android-29 | Google APIs Intel x86 Atom, android-31 | Google Play ARM 64 v8a
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8092744
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
npmPackages:
react-dom: 18.0.0 => 18.0.0
npmGlobalPackages:
eas-cli: 1.0.0
expo-cli: 6.0.5
Expo Workflow: managed
🎉 Didn't find any issues with the project!
Error output
[RUN_FASTLANE] › Packaging Pods/CocoaAsyncSocket » libCocoaAsyncSocket.a
[RUN_FASTLANE]
❌ error: emit-module command failed with exit code 1 (use -v to see invocation)
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE] › Compiling react-native-paymob Pods/react-native-paymob » Paymob.swift
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE]
❌ error: emit-module command failed with exit code 1 (use -v to see invocation)
[RUN_FASTLANE] › Compiling react-native-paymob Pods/react-native-paymob » Paymob.swift
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
[RUN_FASTLANE]
❌ (../../node_modules/react-native-paymob/ios/Paymob.swift:3:8)
1 | import Foundation
2 | import UIKit
> 3 | import AcceptSDK
| ^ no such module 'AcceptSDK'
4 |
5 | @objc(Paymob)
6 | class Paymob: RCTEventEmitter, AcceptSDKDelegate {
Reproducible demo or steps to reproduce from a blank project
- start a new expo project
- install my custom package
- yarn add
react-native-paymob - build a simulator build with eas locally or remotely.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 16 (5 by maintainers)
When building for a simulator, on EAS the destination is set to
generic/platform=iOS Simulatorwhich requires building for x86_64 and arm64, but when you build in xcode you are selecting a specific simulator which always is x86_64.The root cause of the problem is that AcceptCardSDK provides only x86_64 binaries for simulator builds and there is no fallback to build from the source.
We could “fix” that by running simulator builds only for x86, but we decided that building for both platforms is the correct behavior
It looks like I was wrong, Debug simulator build also fails on EAS, but you can still look into the root cause of why Release simulator builds do not work, it’s likely the same problem.
Can you try building locally with Xcode but choosing the target to simulator?