Expo Publish using differnt SDK than package.json

Expo CLI 3.18.6 environment info:
OS: Windows 10 10.0.19041
Node: 10.16.3 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
expo: ^37.0.0 => 39.0.3
react: 16.9.0 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz => 0.63.2
react-navigation: ^4.0.10 => 4.3.9

I have a minor OTA update I would like to push to my standalone app on SDK 37. I ran expo publish and the update seems to take on my android device but not ios.

I ran expo publish:history --platform ios and see that it is updating the app using SDK 39. I will be updating to 40 soon but had a few bugs to work out but I want this simple fix to update OTA.

I did start another branch and update to SDK 39, but have not merged that into the current checked out branch I ran expo publish on. Is that effecting the SDK or is it an ios 14 issue? Is there a way to force it to use SDK 37 in expo publish?

Okay, ran “expo upgrade 37.0.0” and then “expo publish” and everything works.

So, if you are on one expo SDK version, then start a new branch and update the SDK but don’t merge it into the master to do new builds for the app store, when you go to another branch to pubilsh you OTA update you should make sure its on the right SDK. I imagine it has something to do with ios 14 which is why it worked on Android and not iphone

the version that is installed in your node_modules is what is used. you should always run yarn or npm install when you switch branches to one with different dependencies or you are likely to encounter issues like this and perhaps even worse

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.