EAS CLI version 0.15, eas build problem

Hi since upgrading to latest eas-cli, eas build is not identifying the ios bundle id correctly I believe. Eg when i try to build ios with profile develop the cli says that the bundle id registered is com.payright.customer and not com.payright.customer.dev. And it does not pick up the correct provisioning profile. Is my eas.json setup correctly, is there something i am missing here?

{
  "builds": {
    "android": {
      "develop": {
        "workflow": "generic",
        "releaseChannel": "develop-1.0.7",
        "gradleCommand": ":app:bundleDevRelease"
      },
      "uat": {
        "workflow": "generic",
        "releaseChannel": "uat-1.1.2",
        "gradleCommand": ":app:bundleUatRelease"
      },
      "release": {
        "workflow": "generic",
        "releaseChannel": "production-1.1.1",
        "gradleCommand": ":app:bundleProdRelease"
      },
      "team": {
        "workflow": "generic",
        "releaseChannel": "default",
        "distribution": "internal"
      }
    },
    "ios": {
      "develop": {
        "workflow": "generic",
        "releaseChannel": "develop-1.0.7",
        "scheme": "DEV",
        "buildConfiguration": "DEV.Release"
      },
      "uat": {
        "workflow": "generic",
        "releaseChannel": "uat-1.1.2",
        "scheme": "UAT",
        "buildConfiguration": "UAT.Release"
      },
      "release": {
        "workflow": "generic",
        "releaseChannel": "production-1.1.1",
        "scheme": "Payright",
        "buildConfiguration": "Release"
      },
      "team": {
        "workflow": "generic",
        "releaseChannel": "default",
        "distribution": "internal"
      }
    }
  }
}

Info.plist:

<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

project.pbxproj:

			isa = XCBuildConfiguration;
			baseConfigurationReference = 0B8329650198257FE2538295 /* Pods-Payright.dev.release.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
				BUNDLE_ID_SUFFIX = .dev;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_ENTITLEMENTS = Payright/customer.entitlements;
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = 827F743985;
				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
				INFOPLIST_FILE = Payright/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-ObjC",
					"-lc++",
				);
				PRODUCT_BUNDLE_IDENTIFIER = com.payright.customer.dev;
				PRODUCT_NAME = "Payright Dev";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = 1;
				VERSIONING_SYSTEM = "apple-generic";
			};
			name = DEV.Release;
		};

hi, we are currently working on support for project with multiple bundle identifiers and that is why option experimental.disableIosBundleIdentifierValidation was removed, but it seems not all of the changes landed before cli was released.

Proper support will be published next week, but in a meantime I suggest downgrading to the previous version, when we introduce full support bundleidentifier in app.json will be deprecated for generic projects and we will read correct values from the native project.

Hi @wkozyra , sure no problem, I have gone back to 0.14.1 for now.

Is it possible to get email updates on new eas-cli versions including what is new and what are the breaking changes, as we are using this as part of our automated ci/cd process in dev, uat, and production environments.

Regards

You can watch eas-cli repo on github, (there is option to get notifications just for releases)

Hi version 0.17.0 should fully support projects with multiple bundle identifiers, both

  • multitarget builds (e.g. with extensions)
  • single target, but with multiple schemes with different bundle identifiers

Can you verify if it’s working correctly for your project?

1 Like

Hi, oh that’s great to hear. Ok we are locked into 0.14.1 at present, I will test out 0.17.0 as soon as I can.