I just upgraded to RN 0.64.0 and when running a build service following error msg is thrown:
Error: pod exited with non-zero code: 1
Reading the [stderr] [!] The version of CocoaPods used to generate the lockfile (1.10.1) is higher than the version of the current executable (1.10.0). Incompatibility issues may arise.
and
later on [!] React requires CocoaPods version >= 1.10.1, which is not satisfied by your current version, 1.10.0.
I have CocoaPods 1.10.1 installed as per above diagnostics.
I have checked every corner and it says I have CocoaPods 1.10.1 installed required by React.
I can not wrap my head around what is failing unless there is a Swift issue/package involved that struggles
BR
/Johan - really a fan of Expo and EAS
You are a hero wkozyra! (In fact the whole Expo team). Crisp and clear answer, crisp and clear doc. Just configured eas.json and everything worked out smoothly.
Many Thanks Johan
Thanks for the feedback, I read-up on your links and followed the instruction i.e. added a complementary build profile (named it override) with the toolchain I needed (or RN 0.64.0 requires cocoapods 1.10.1 and hence forced me to add a profile). Once the image is updated with 1.10.1 I will rely back on my usual build profile (testing). The build time is ok, I did not experience too much weight in that.
Please advice how to proceed or needed changes and I will update.
BR
/Johan
added a complementary build profile (named it override) with the toolchain I needed
By incorrect, I meant that you are extending profile with itself (it will throw an error with latest cli), you should add extends: override to other profiles if you want, but not inside override definition
I saw that you have released a new eas-cli (0.7.0) is the toolchain in the image updated also i.e. cocoapods 1.10.1?
@wkozyra , thanks.
Updated my eas.json accordingly and now running my original profile i.e. âtestingâ with you updated image. Works perfect.
Just curious, what is the reason behind the possibility to extending the override in a build profile?
BR
/Johan
extends is intended to simplify the definition, you can define one profile with a bunch of common settings and put extend: âsome-common-profileâ in every other profile this way you donât need to duplicate that for every case. In the docs Configuring EAS Build with eas.json - Expo Documentation at the end there is example of that, Android build profiles release and debug both extend base profile, so when building for either release or debug values from base will also be applied.
override: { extends: override } was not correct because it states that profile override inherits values from override which inherits values from override which inherits values from override and so on, itâs an infinite loop
Thanks @wkozyra,
crisp answer. I have updated my eas.json with a âbaseâ letting the other profiles extending it and I can ignore the âforceâ profile as you have updated the toolchain and I can go back using my thin âtestingâ profile.
You and your team are doing a tremendous work.
BR
/Johan