expo publish doesn't work after upgrading expokit from 31 to 32


#1

I followed @bacon 's fastlane tutorial here https://blog.expo.io/automating-standalone-expo-app-builds-and-deployments-with-fastlane-exp-and-exptool-9b2f5ad0a2cd.
After upgrading my expo+expokit version from 31 to 32, I now get the following error message:

We noticed you did not build a standalone app with this SDK version and release channel before. Remember that OTA updates will not work with the app built with different SDK version and/or release channel. Read more: https://docs.expo.io/versions/latest/guides/publishing.html#limitations

Obviously being ejected to Expokit means that I don’t have access to the expo build command.
Xcode and Android Studio builds are working and are published on the respective app stores.

Is that because I update “buildNumber” and “versionCode” every time I merge a PR and that creates a version mismatch?
How can I debug/fix this? OTA updates are VERY useful.

package.json

{
“name”: “xxx”,
“version”: “2.0.0”,
“private”: true,
“main”: “./node_modules/expo/AppEntry.js”,
“scripts”: {
“start”: “expo start”,
“eject”: “expo eject”,
“android”: “expo start --android”,
“ios”: “expo start --ios”,
“test”: “jest”,
“storybook”: “storybook start -p 7007”,
“test:coverage”: “jest --coverage && open coverage/lcov-report/index.html”,
“postinstall”: “rndebugger-open --expo”
},
“jest”: {
“preset”: “jest-expo”,
“setupFiles”: [
“./tests/setup.js”
],
“collectCoverageFrom”: [
“src/**/*.js”
]
},
“husky”: {
“hooks”: {
“pre-push”: “npm test”
}
},
“dependencies”: {
@expo/vector-icons”: “^9.0.0”,
“card-validator”: “^6.1.0”,
“date-fns”: “^1.29.0”,
“downshift”: “^2.2.3”,
“expo”: “^32.0.0”,
“expo-analytics”: “^1.0.7”,
“expo-camera”: “^1.1.0”,
“expo-localization”: “^1.0.0”,
“expo-permissions”: “^1.1.0”,
“expo-postpublish-slack-notify”: “^1.2.0”,
“expokit”: “32.0.6”,
“formik”: “^1.3.0”,
“intl”: “^1.2.5”,
“lodash”: “^4.17.11”,
“native-base”: “^2.8.1”,
“prop-types”: “^15.6.2”,
“react”: “16.5.0”,
“react-native”: “https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz”,
“react-native-btr”: “^1.0.13”,
“react-native-circular-progress”: “^1.0.1”,
“react-native-confirmation-code-input”: “^1.0.4”,
“react-native-credit-card-input”: “^0.4.1”,
“react-native-date-picker”: “^2.2.1”,
“react-native-datepicker”: “^1.7.2”,
“react-native-dotenv”: “^0.2.0”,
“react-native-elements”: “^0.19.1”,
“react-native-formik”: “^1.7.0”,
“react-native-iphone-x-helper”: “^1.2.0”,
“react-native-keyboard-aware-scroll-view”: “^0.7.2”,
“react-native-modal-dropdown”: “^0.6.2”,
“react-native-paper”: “^2.3.0”,
“react-native-picker-select”: “^5.1.1”,
“react-native-simple-picker”: “^3.1.1”,
“react-native-snap-carousel”: “^3.7.5”,
“react-navigation”: “^2.18.2”,
“react-navigation-material-bottom-tabs”: “^1.0.0”,
“react-redux”: “^5.0.7”,
“redux”: “^4.0.0”,
“redux-logger”: “^3.0.6”,
“redux-persist”: “^5.10.0”,
“redux-saga”: “^0.16.0”,
“sentry-expo”: “~1.9.0”,
“stripe-client”: “^1.1.5”,
“yup”: “^0.26.6”
},
“devDependencies”: {
@babel/core”: “^7.1.6”,
@babel/runtime”: “^7.2.0”,
@dump247/storybook-state”: “^1.5.2”,
@storybook/addon-actions”: “^3.4.11”,
@storybook/addon-links”: “^3.4.10”,
@storybook/addons”: “^3.4.10”,
@storybook/react-native”: “^3.4.10”,
“babel-core”: “^7.0.0-bridge.0”,
“babel-eslint”: “^7.2.3”,
“babel-preset-expo”: “5”,
“babel-runtime”: “^6.26.0”,
“enzyme”: “^3.8.0”,
“enzyme-adapter-react-16”: “^1.7.1”,
“eslint”: “^4.0.0”,
“eslint-config-prettier”: “^3.0.1”,
“eslint-config-react-app”: “^2.1.0”,
“eslint-plugin-flowtype”: “^2.50.0”,
“eslint-plugin-import”: “^2.14.0”,
“eslint-plugin-jsx-a11y”: “^5.1.1”,
“eslint-plugin-prettier”: “^2.6.2”,
“eslint-plugin-react”: “^7.11.1”,
“husky”: “^1.0.0-rc.15”,
“identity-obj-proxy”: “^3.0.0”,
“jest-expo”: “^32.0.0”,
“jest-fetch-mock”: “^1.6.6”,
“prettier”: “^1.14.2”,
“react-dom”: “^16.3.1”,
“react-native-debugger-open”: “^0.3.17”,
“react-test-renderer”: “16.3.1”,
“redux-devtools-extension”: “^2.13.5”,
“redux-mock-store”: “^1.5.3”
}
}

app.json

{
“expo”: {
“name”: “Xxxxxx”,
“icon”: “./assets/system/ios-icon.png”,
“version”: “2.6.7”,
“slug”: “xxxxxx”,
“sdkVersion”: “32.0.0”,
“orientation”: “portrait”,
“splash”: {
“backgoundColor”: “#fff”,
“image”: “./assets/system/splash_new.png”,
“resizeMode”: “cover”
},
“ios”: {
“bundleIdentifier”: “com.xxxxxx.xxxxxx”,
“publishBundlePath”: “ios/xxxxxx/Supporting/shell-app.bundle”,
“publishManifestPath”: “ios/xxxxxx/Supporting/shell-app-manifest.json”,
“buildNumber”: “2.6.6”,
“infoPlist”: {
“NSCameraUsageDescription”: “This app uses the camera to take pictures of the user’s food and scan QR codes.”,
“NSPhotoLibraryAddUsageDescription”: “This app uses the photo library to select pictures of the user’s food.”
},
“supportsTablet”: true
},
“android”: {
“package”: “com.xxxxxx.xxxxxx”,
“publishBundlePath”: “android/app/src/main/assets/shell-app.bundle”,
“publishManifestPath”: “android/app/src/main/assets/shell-app-manifest.json”,
“permissions”: [
“CAMERA”,
“READ_EXTERNAL_STORAGE”,
“WRITE_EXTERNAL_STORAGE”
],
“versionCode”: 266
},
“isDetached”: true,
“detach”: {
“iosExpoViewUrl”: “https://s3.amazonaws.com/exp-exponent-view-code/ios-v2.10.2-sdk32.0.0-c59c23cd-1d49-49d2-a633-d03f9d554cf6.tar.gz”,
“androidExpoViewUrl”: “https://s3.amazonaws.com/exp-exponent-view-code/android-v2.10.7-sdk32.0.0-3ff7f3bf-8e53-4d61-b963-1d7d92a77d79.tar.gz
},
“scheme”: “expc48567a3829f44febfcb2768891e5bf8”
}
}

Info.plist and build.gradle available upon request.


#2

Hi

Did you verified that OTA updates don’t work or did you assumed that based on this message? If it’s because of the warning, you can safely ignore it, logic responsible for checking that does not verify whether app is ejected


#3

Hi @wkozyra
Thanks for the message! Yes that was it, thanks a lot!!