EXStructuredHeaders pod install issue while updating to Expo 41

I’ve ran the expo upgrade successfully, but when running npx pod-install I get following error:

[!] CocoaPods could not find compatible versions for pod "EXStructuredHeaders":
  In Podfile:
    EXStructuredHeaders (from `../node_modules/expo-structured-headers/ios`)

    EXUpdates (from `../node_modules/expo-updates/ios`) was resolved to 0.5.4, which depends on
      EXStructuredHeaders

Specs satisfying the `EXStructuredHeaders (from `../node_modules/expo-structured-headers/ios`), EXStructuredHeaders` dependency were found, but they required a higher minimum deployment target.

I have set the iOS Deployment Target in XCode to 11.0 (in Project and Target settings), which I believe should still be supported, but the issue persists. I also manually changed the EXUpdatesSDKVersion to 41.0.0 in Expo.plist.

Here’s the diagnostics:

  Expo CLI 4.4.1 environment info:
    System:
      OS: macOS 10.15.7
      Shell: 5.7.1 - /bin/zsh
    Binaries:
      Node: 12.18.3 - ~/.nvm/versions/node/v12.18.3/bin/node
      Yarn: 1.22.10 - /usr/local/bin/yarn
      npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.10.1 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
      Android SDK:
        API Levels: 23, 27, 28
        Build Tools: 23.0.1, 27.0.3, 28.0.3
        System Images: android-28 | Google Play Intel x86 Atom, android-30 | Google Play Intel x86 Atom
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.6858069
      Xcode: 12.4/12D4e - /usr/bin/xcodebuild
    npmPackages:
      expo: ^41.0.0 => 41.0.0 
      react: 16.13.1 => 16.13.1 
      react-dom: 16.13.1 => 16.13.1 
      react-native: 0.63.4 => 0.63.4 
      react-native-web: ~0.13.12 => 0.13.18 
    npmGlobalPackages:
      expo-cli: 4.4.1
    Expo Workflow: bare

I’m getting the same error after upgrading to Expo 41. I’m also using the bare workflow.

UPDATE
I was able to resolve this. Hopefully this helps other people running into this issue.

I also had to manually update my Podfile to target iOS 11, because it had previously been targeting iOS 10.

In Podfile, change

platform :ios, '10.0'

To this

platform :ios, '11.0'

Save that and run pod install again. I had to run pod update after that to fix a different issue.

2 Likes

Thanks, that helped! :+1:

Might be a good idea to include this information in the Expo SDK Upgrade guide…

Agreed. I’m not an Expo developer though, just another Expo user. I’m sure other people would appreciate if you made a GitHub issue, or even a PR for this. What would be even better than documenting this is if expo update automatically did this for you.