expo / expo/eas-cli

Could not automatically select an Xcode project. Specify one in your Podfile like so: project 'path/to/Project.xcodeproj'

Open
#2,895 4 comments 0 reactions 1 assignee Claimed by @sjchmiela View on GitHub
eas build needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/ilir/projects/aippetizer-app/builds/8df08ea4-f337-465f-825b-49a465a2f9d8

### Summary

After updated eas cli to `15.0.9` my eas build for iOS fails with:

```
[!] Could not automatically select an Xcode project. Specify one in your Podfile like so:
project 'path/to/Project.xcodeproj'
[!] [Codegen] warn: using experimental new codegen integration
pod install exited with non-zero code: 1

```
and on android i get:

```
BUILD FAILED in 3m 14s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
520 actionable tasks: 520 executed
Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.
```

even though it builds just fine on my iOS Simulator and Android device.

### Managed or bare?

Bare

### Environment

```
expo-env-info 1.2.2 environment info:
System:
OS: macOS 15.3
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.11.0 - /usr/local/bin/node
npm: 10.9.0 - /usr/local/bin/npm
Managers:
CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.2, iOS 18.2, macOS 15.2, tvOS 18.2, visionOS 2.2, watchOS 11.2
Android SDK:
API Levels: 30, 35
Build Tools: 30.0.3, 34.0.0, 35.0.0
IDEs:
Xcode: 16.2/16C5032a - /usr/bin/xcodebuild
npmPackages:
expo: ~52.0.31 => 52.0.31
expo-router: ~4.0.17 => 4.0.17
react: 18.3.1 => 18.3.1
react-dom: 18.3.1 => 18.3.1
react-native: 0.76.7 => 0.76.7
react-native-web: ^0.19.13 => 0.19.13
npmGlobalPackages:
eas-cli: 15.0.9
Expo Workflow: bare
```

```
Enabled experimental React Native Directory checks. Unset the EXPO_DOCTOR_ENABLE_DIRECTORY_CHECK environment variable to disable this check.
✔ Check package.json for common issues
✔ Check Expo config for common issues
✔ Check for common project setup issues
✔ Check dependencies for packages that should not be installed directly
✔ Check npm/ yarn versions
✔ Check for issues with Metro config
✔ Check native tooling versions
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✔ Check if the project meets version requirements for submission to app stores
✖ Check for app config fields that may not be synced in a non-CNG project
✖ Validate packages against React Native Directory package metadata
✔ Check that packages match versions required by installed Expo SDK
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

This project contains native project folders but also has native configuration properties in app.json, indicating it is configured to use Prebuild. When the android/ios folders are present, EAS Build will not sync the following properties: orientation, scheme, icon, userInterfaceStyle, splash, ios, android, plugins, androidStatusBar.

Advice: Add '/android' and '/ios' to your .gitignore file if you intend to use CNG / Prebuild. Learn more: https://docs.expo.dev/workflow/prebuild/#usage-with-eas-build

The following issues were found when validating your dependencies against React Native Directory:
Untested on New Architecture: lucide-react-native
No metadata available: @expo/server, @google-cloud/vertexai, @hookform/resolvers, base64-arraybuffer, react-native-purchases-ui, react-native-swipeable-item, tailwindcss, use-debounce
Advice:
- Use libraries that are actively maintained and support the New Architecture. Find alternative libraries with https://reactnative.directory.
- Add packages to expo.doctor.reactNativeDirectoryCheck.exclude in package.json to selectively skip validations, if the warning is not relevant.
- Update React Native Directory to include metadata for unknown packages. Alternatively, set expo.doctor.reactNativeDirectoryCheck.listUnknownPackages in package.json to false to skip warnings about packages with no metadata, if the warning is not relevant.

One or more checks failed, indicating possible issues with the project.
```

### Error output

_No response_

### Reproducible demo or steps to reproduce from a blank project

No repo

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.