Sure. To be clear, I was able to figure out exactly what I needed to do on my first try using the docs, but I still think there’s room for improvement. Looking at that page you linked to, it says you need set your “image” to “macos-big-sur-11.4-xcode-12.5” or “latest”. The page mentions putting this into your eas.json file, but it doesn’t say where you should put the “image” key in your config file.
Looking at the article on how to configure your eas.json file, the “image” key is referenced, which is good. However, the only example of how to use “image” looks like this:
{
"workflow": "generic",
"extends": string,
"credentialsSource": "local" | "remote", // default: "remote"
"scheme": string,
"schemeBuildConfiguration": string,
"artifactPath": string, // default: "ios/build/App.ipa"
"releaseChannel": string, // default: "default"
"distribution": "store" | "internal" | "simulator", // default: "store"
"enterpriseProvisioning": "adhoc" | "universal",
"autoIncrement": boolean | "version" | "buildNumber", // default: false
"image": string, // default: "default"
"node": string,
"yarn": string,
"bundler": string,
"fastlane": string,
"cocoapods": string,
"env": Record<string, string>,
"cache": {
"disabled" : boolean, // default: false
"key": string,
"cacheDefaultPaths": boolean, // default: true
"customPaths": string[] // default: []
}
}
But my eas.json file looked like this:
{
"builds": {
"android": {
"release": {
"workflow": "generic"
},
"preview": {
"distribution": "internal",
"workflow": "generic"
}
},
"ios": {
"release": {
"workflow": "generic"
},
"preview": {
"distribution": "internal",
"workflow": "generic"
}
}
}
}
At what level of nesting are you supposed to put the “image” key? I figured it out because I noticed that your example was missing the “builds” key, but did have the “workflow” key at the top-level, so I inferred that the example in the docs was showing a nested object inside of the overall eas.json object. So I guessed (correctly) that I should put the “image” key in the same nesting level as “workflow”.
I think most people would be able to figure out what to do like I did, but my only feedback for the docs would be to use the full eas.json structure in your examples. So I would update the example in your doc to look like this:
{
"builds": {
"ios": {
"BUILD_PROFILE_NAME": {
"workflow": "generic",
"extends": string,
"credentialsSource": "local" | "remote", // default: "remote"
"scheme": string,
"schemeBuildConfiguration": string,
"artifactPath": string, // default: "ios/build/App.ipa"
"releaseChannel": string, // default: "default"
"distribution": "store" | "internal" | "simulator", // default: "store"
"enterpriseProvisioning": "adhoc" | "universal",
"autoIncrement": boolean | "version" | "buildNumber", // default: false
"image": string, // default: "default"
"node": string,
"yarn": string,
"bundler": string,
"fastlane": string,
"cocoapods": string,
"env": Record < string,
string > ,
"cache": {
"disabled": boolean, // default: false
"key": string,
"cacheDefaultPaths": boolean, // default: true
"customPaths": string[] // default: []
}
}
}
}