expo: Upgrading to SDK44 breaks EAS build
Summary
After upgrading to the EAS Build I’ getting the following errors:
`› Compiling expo-cellular Pods/ExpoCellular » CellularModule.swift 1455
❌ (node_modules/expo-cellular/ios/CellularModule.swift:12:5)
10 | } 11 |
12 | function(“getCellularGenerationAsync”) { () -> Int in | ^ cannot find ‘function’ in scope 13 | Self.currentCellularGeneration().rawValue 14 | } 15 | 1456▸ ** ARCHIVE FAILED ** 1457▸ The following build commands failed: 1458▸ CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoLocalization’ from project ‘Pods’) 1459▸ CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoLinearGradient’ from project ‘Pods’) 1460▸ CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoCellular’ from project ‘Pods’) 1461▸ CompileSwift normal arm64 /Users/expo/workingdir/build/node_modules/expo-cellular/ios/CellularModule.swift (in target ‘ExpoCellular’ from project ‘Pods’) 1462▸ (4 failures) 1463 ** ARCHIVE FAILED ** 1464 1465 1466The following build commands failed: 1467 CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoLocalization’ from project ‘Pods’) 1468 CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoLinearGradient’ from project ‘Pods’) 1469 CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target ‘ExpoCellular’ from project ‘Pods’) 1470 CompileSwift normal arm64 /Users/expo/workingdir/build/node_modules/expo-cellular/ios/CellularModule.swift (in target ‘ExpoCellular’ from project ‘Pods’) 1471 (4 failures) 1472 Exit status: 65 1473 1474 ±------------±------------------------+ 1475 | Build environment | 1476 ±------------±------------------------+ 1477 | xcode_path | /Applications/Xcode.app | 1478 | gym_version | 2.185.1 | 1479 | sdk | iPhoneOS15.0.sdk | 1480 ±------------±------------------------+`
I have also tried to switch back to older library version for these libraries, but the I’m getting a different error:
` ❌ (node_modules/expo/ios/EXAppDefinesLoader.m:13:4)
11 | { 12 | BOOL APP_DEBUG;
13 | [EXAppDefines load:@{ | ^ use of undeclared identifier ‘EXAppDefines’ 14 | #if DEBUG 15 | @“APP_DEBUG”: @(YES), 16 | #else 1464 › Packaging @unimodules/core Pods/UMCore » libUMCore.a 1465 › Compiling expo-web-browser Pods/EXWebBrowser » EXWebBrowser.m 1466 › Compiling expo-web-browser Pods/EXWebBrowser » EXWebBrowser-dummy.m 1467 › Executing expo-updates Pods/EXUpdates » [CP-User] Generate app.manifest for expo-updates 1468 ▸ ** ARCHIVE FAILED ** 1469 ▸ The following build commands failed: 1470 ▸ CompileC /Users/expo/Library/Developer/Xcode/DerivedData/DEC11220-fqdkxzkzmkywembpwxlxsmfzxxxr/Build/Intermediates.noindex/ArchiveIntermediates/DEC11220/IntermediateBuildFilesPath/Pods.build/Debug-iphoneos/Expo.build/Objects-normal/arm64/EXAppDefinesLoader.o /Users/expo/workingdir/build/node_modules/expo/ios/EXAppDefinesLoader.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target ‘Expo’ from project ‘Pods’) 1471 ▸ (1 failure) 1472 ** ARCHIVE FAILED ** 1473 1474 1475 The following build commands failed: 1476 CompileC /Users/expo/Library/Developer/Xcode/DerivedData/DEC11220-fqdkxzkzmkywembpwxlxsmfzxxxr/Build/Intermediates.noindex/ArchiveIntermediates/DEC11220/IntermediateBuildFilesPath/Pods.build/Debug-iphoneos/Expo.build/Objects-normal/arm64/EXAppDefinesLoader.o /Users/expo/workingdir/build/node_modules/expo/ios/EXAppDefinesLoader.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target ‘Expo’ from project ‘Pods’) 1477 (1 failure) 1478 Exit status: 65`
Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!
managed
What platform(s) does this occur on?
Android, iOS
SDK Version (managed workflow only)
44
Environment
Expo CLI 5.0.1 environment info: System: OS: macOS 12.0.1 Shell: 5.8 - /bin/zsh Binaries: Node: 14.17.5 - /usr/local/opt/nvm/versions/node/v14.17.5/bin/node Yarn: 1.22.4 - /usr/local/bin/yarn npm: 8.3.0 - /usr/local/opt/nvm/versions/node/v14.17.5/bin/npm Watchman: 2021.09.13.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.10.1 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3 Android SDK: API Levels: 26, 27, 29, 30 Build Tools: 27.0.3, 28.0.3, 29.0.2, 29.0.3, 30.0.2 System Images: android-29 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-31 | Intel x86 Atom_64 IDEs: Android Studio: 4.0 AI-193.6911.18.40.6514223 Xcode: 13.2/13C90 - /usr/bin/xcodebuild npmPackages: babel-preset-expo: 9.0.1 => 9.0.1 expo: ^44.0.0 => 44.0.0 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.3 => 0.64.3 react-native-web: 0.17.1 => 0.17.1 npmGlobalPackages: eas-cli: 0.41.1 expo-cli: 5.0.1 Expo Workflow: managed
Reproducible demo
eas build --profile development --platform android or eas build --profile development --platform iOS
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 26 (11 by maintainers)
Strange. What I did was creating a new project and transferring files
yeah, I’m not sure what’s wrong TBH, but I’ll keep debugging, thank you.
Ah maybe I forgot to mention that you also need the latest eas-cli
uninstall expo & eas globally and installing them back fixed that issue.
it’s failed again
eas, I’ve updated mypackage.jsonto have44.0.1as theexpopackage version & will try again.EAS Build also has the option for --clear-cache
expo upgrade command or change the version in the package.json to 44.0.1
perhaps you ran
expo run:[ios|android]? if you haveiosorandroiddirectories in your project, which are generated viaexpo prebuildwhen you run those commands, your project is “bare”. you can just delete theiosandandroiddirectories. https://expo.fyi/prebuild-cleanup