Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAS cli unable to read bundle identifier and other environment variables in .pbxproj file #2773

Open
jayshah123 opened this issue Dec 16, 2024 · 2 comments
Labels
eas build needs review Issue is ready to be reviewed by a maintainer

Comments

@jayshah123
Copy link

Build/Submit details page URL

No response

Summary

In my bareworkflow app, I am trying to run eas build --profile development,
The build does not start at all on expo.dev, because of validation error below:

I get error with:

Could not read bundle identifier from Xcode project (target = myappname, build configuration = Release).

The reason is that value of app bundle identifier in the .pbxproj file is

PRODUCT_BUNDLE_IDENTIFIER = "$(EXPO_PUBLIC_APP_BUNDLE_ID)";

This is because we still rely on react-native-config related .env file which holds value for EXPO_PUBLIC_APP_BUNDLE_ID, before we fully adopt CNG/prebuild.

Note: I am not ignoring .env as part of .easignore.

contents of my eas.json

{
  "cli": {
    "version": ">= 12.5.0",
    "appVersionSource": "local"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "channel": "development",
      "ios": {
        "enterpriseProvisioning": "universal"
      }
    },
    "preview": {
      "distribution": "internal",
      "environment": "preview",
      "channel": "preview",
      "ios": {
        "enterpriseProvisioning": "universal"
      }
    },
    "production": {
      "autoIncrement": true,
      "channel": "production"
    }
  },
  "submit": {
    "production": {}
  }
}

Managed or bare?

bare

Environment

  expo-env-info 1.2.0 environment info:
    System:
      OS: macOS 15.1.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 18.13.0 - ~/.nvm/versions/node/v18.13.0/bin/node
      Yarn: 1.18.0 - ~/.yarn/bin/yarn
      npm: 8.19.3 - ~/.nvm/versions/node/v18.13.0/bin/npm
      Watchman: 2024.10.21.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.14.3 - /Users/jshah/.rbenv/shims/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 24.0, iOS 18.0, macOS 15.0, tvOS 18.0, visionOS 2.0, watchOS 11.0
    IDEs:
      Android Studio: 2022.3 AI-223.8836.35.2231.10811636
      Xcode: 16.0/16A242d - /usr/bin/xcodebuild
    npmPackages:
      @expo/metro-config: 0.18.11 => 0.18.11 
      expo: 50.0.20 => 50.0.20 
      react: 18.2.0 => 18.2.0 
      react-native: 0.73.9 => 0.73.9 
    npmGlobalPackages:
      eas-cli: 13.4.2
      expo-cli: 6.3.10
    Expo Workflow: bare

Error output

Could not read bundle identifier from Xcode project (target = myappname, build configuration = Release).

Reproducible demo or steps to reproduce from a blank project

eas build --profile development

@jayshah123 jayshah123 added the needs review Issue is ready to be reviewed by a maintainer label Dec 16, 2024
@thaiscristine
Copy link

+1

@jayshah123 did you find a solution?

@szdziedzic
Copy link
Member

If you want to get unblocked for now you can use EAS_DANGEROUS_OVERRIDE_IOS_BUNDLE_IDENTIFIER env var to skip bundle ID detection logic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
eas build needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

3 participants