Hello. I’m upgrading my expoKit app from SDK 32 to SDK 33 and I’m running into a lot of problems on iOS (not even tried on android yet, oh god).
When I run pod install or pod update I get:
[!] CocoaPods could not find compatible versions for pod "FBAudienceNetwork":
In Podfile:
EXAdsFacebook (from `../node_modules/expo-ads-facebook/ios`) was resolved to 5.0.1, which depends on
FBAudienceNetwork
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
FBAudienceNetwork (= 5.1.1)
CocoaPods could not find compatible versions for pod "FBSDKCoreKit":
In Podfile:
EXFacebook (from `../node_modules/expo-facebook/ios`) was resolved to 5.0.1, which depends on
FBSDKCoreKit
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
FBSDKCoreKit (= 4.40.0)
CocoaPods could not find compatible versions for pod "FBSDKLoginKit":
In Podfile:
EXFacebook (from `../node_modules/expo-facebook/ios`) was resolved to 5.0.1, which depends on
FBSDKLoginKit
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
FBSDKLoginKit (= 4.40.0)
CocoaPods could not find compatible versions for pod "Google-Mobile-Ads-SDK":
In Podfile:
EXAdsAdMob (from `../node_modules/expo-ads-admob/ios`) was resolved to 5.0.1, which depends on
Google-Mobile-Ads-SDK
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
Google-Mobile-Ads-SDK (~> 7.22.0)
CocoaPods could not find compatible versions for pod "GoogleMaps":
In Podfile:
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
Google-Maps-iOS-Utils (~> 2.1.0) was resolved to 2.1.0, which depends on
GoogleMaps
ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.11.1`) was resolved to 33.0.0, which depends on
GoogleMaps (~> 2.5.0)
CocoaPods could not find compatible versions for pod "GoogleMobileVision/Detector":
In Podfile:
EXFaceDetector (from `../node_modules/expo-face-detector/ios`) was resolved to 5.0.1, which depends on
GoogleMobileVision/FaceDetector (~> 1.1.0) was resolved to 1.1.0, which depends on
GoogleMobileVision/Detector (= 1.1.0)
react-native-camera/BarcodeDetectorMLKit (from `../node_modules/react-native-camera`) was resolved to 2.6.0, which depends on
Firebase/MLVision was resolved to 5.20.2, which depends on
FirebaseMLVision (= 0.15.0) was resolved to 0.15.0, which depends on
GoogleMobileVision/Detector (~> 1.4)
My Podfile is:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
target 'baladapp---produtor' do
pod 'ExpoKit',
git: 'http://github.com/expo/expo.git',
tag: 'ios/2.11.1',
subspecs: [
'Core'
],
inhibit_warnings: true
# install unimodules
require_relative '../node_modules/react-native-unimodules/cocoapods.rb'
use_unimodules!
pod 'React',
path: '../node_modules/react-native',
inhibit_warnings: true,
subspecs: %w[
Core
ART
RCTActionSheet
RCTAnimation
RCTCameraRoll
RCTGeolocation
RCTImage
RCTNetwork
RCTText
RCTVibration
RCTWebSocket
DevSupport
CxxBridge
]
pod 'yoga',
path: '../node_modules/react-native/ReactCommon/yoga',
inhibit_warnings: true
pod 'DoubleConversion',
podspec: '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec',
inhibit_warnings: true
pod 'Folly',
podspec: '../node_modules/react-native/third-party-podspecs/Folly.podspec',
inhibit_warnings: true
pod 'glog',
podspec: '../node_modules/react-native/third-party-podspecs/glog.podspec',
inhibit_warnings: true
pod 'react-native-camera', path: '../node_modules/react-native-camera', subspecs: [
'BarcodeDetectorMLKit'
]
pod 'Firebase/Core'
post_install do |installer|
installer.pods_project.main_group.tab_width = '2'
installer.pods_project.main_group.indent_width = '2'
installer.target_installation_results.pod_target_installation_results
.each do |pod_name, target_installation_result|
if pod_name == 'ExpoKit'
target_installation_result.native_target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'EX_DETACHED=1'
# Enable Google Maps support
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'HAVE_GOOGLE_MAPS=1'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'HAVE_GOOGLE_MAPS_UTILS=1'
end
end
if ['Amplitude-iOS', 'Analytics', 'AppAuth', 'Branch', 'CocoaLumberjack', 'FBSDKCoreKit', 'FBSDKLoginKit', 'FBSDKShareKit', 'GPUImage', 'JKBigInteger2'].include? pod_name
target_installation_result.native_target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
end
end
# Can't specify this in the React podspec because we need to use those podspecs for detached
# projects which don't reference ExponentCPP.
if pod_name.start_with?('React')
target_installation_result.native_target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
config.build_settings['HEADER_SEARCH_PATHS'] ||= ['$(inherited)']
end
end
# Build React Native with RCT_DEV enabled and RCT_ENABLE_INSPECTOR and
# RCT_ENABLE_PACKAGER_CONNECTION disabled
next unless pod_name == 'React'
target_installation_result.native_target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV=1'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_ENABLE_INSPECTOR=0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'ENABLE_PACKAGER_CONNECTION=0'
end
end
end
end
My package.json is as following:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"axios": "^0.18.0",
"crypto-js": "^3.1.9-1",
"date-fns": "^1.30.1",
"expo": "^33.0.7",
"expokit": "33.0.1",
"lodash": "^4.17.11",
"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-camera": "git+https://github.com/otaviogaiao/react-native-camera",
"react-native-expo-image-cache": "git+https://github.com/otaviogaiao/react-native-expo-image-cache.git#3.3.7",
"react-native-iphone-x-helper": "^1.2.0",
"react-native-keyboard-aware-scroll-view": "^0.8.0",
"react-native-masked-text": "^1.10.1",
"react-native-modal": "^11.0.0",
"react-native-optimized-flatlist": "git+https://github.com/otaviogaiao/react-native-optimized-flatlist.git#v1.1.1",
"react-native-picker-select": "^6.1.0",
"react-native-render-html": "^4.1.2",
"react-native-responsive-screen": "^1.2.0",
"react-native-root-siblings": "^3.1.7",
"react-native-status-bar-height": "^2.2.0",
"react-navigation": "^3.9.1",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-persist": "^5.10.0",
"redux-saga": "^0.16.2",
"sentry-expo": "^1.12.0"
},
"devDependencies": {
"@babel/core": "^7.0.0-0",
"babel-eslint": "^10.0.1",
"babel-preset-expo": "^5.0.0",
"eslint": "^5.12.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-config-prettier": "^3.5.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.2",
"eslint-plugin-prettier": "^3.0.1",
"eslint-plugin-react": "^7.12.4",
"prettier": "^1.15.3",
"prettier-eslint": "^8.8.2",
"react-native-unimodules": "^0.4.0"
},
"private": true
}
I did some research but could not find a solution for my problem. I’m already using Cocoapods version 1.7.3.