OTA updates not working - SDK 39

Please provide the following:

  1. SDK Version: 39.0.0
  2. Platforms(Android/iOS/web/all): IOS

I have manual over the air updates configured and they have worked in the past, before I upgraded to 39.0.0. I just published to my release channel, and the over the air updates are not working. I am only working with IOS.

This is my expo diagnostics -

Expo CLI 3.28.5 environment info:
    System:
      OS: macOS Mojave 10.14.6
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 12.14.1 - /usr/local/bin/node
      Yarn: 1.22.4 - /usr/local/bin/yarn
      npm: 6.13.4 - /usr/local/bin/npm
    Managers:
      CocoaPods: 1.8.4 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.6858069
      Xcode: 11.2/11B52 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^39.0.0 => 39.0.4 
      react: 16.13.1 => 16.13.1 
      react-dom: 16.13.1 => 16.13.1 
      react-native: https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz => 0.63.2 
      react-native-web: ~0.13.7 => 0.13.18 
      react-navigation: ^3.12.0 => 3.13.0 
    npmGlobalPackages:
      expo-cli: 3.28.5
    Expo Workflow: managed

My app.json has manual updates configured -
"updates": { "enabled": true, "checkAutomatically": "ON_ERROR_RECOVERY", "fallbackToCacheTimeout": 0 },

I manually load updates with this logic, which is at the root of my app -
try { const update = await Updates.checkForUpdateAsync(); if (update.isAvailable) { await Updates.fetchUpdateAsync(); await Updates.reloadAsync(); } } catch (e) { console.log(e) }

I import Updates like so - import * as Updates from 'expo-updates'

I was thinking this was because of the SDK 39.0.0 issue with publishing to a release channel. However, I have everything up to date. I am wondering if the issue could be because the app that is in the app store has the depreciated Updates import with SDK 38.0.0, when we have now upgraded to 39.0.0.

Thanks.

Are you saying that the current version in the App Store was built with SDK 38? If that’s the case, it won’t download updates intended for SDK 39 as they depend on different binaries. You’ll have to publish a new version of your app with SDK 39 through the App Store, and only once users install that new version, they’ll be able to download and apply new OTA updates.

3 Likes

Ahh, exactly. That’s what I was thinking might be the issue. Thanks a bunch.