Expo SDK 43 EAS Build Error :Unable to find a specification for `UMCore` depended upon by `EXPermissions`

Expo SDK 43 Error in EAS build.
There is an error in the push notification section for both iOS and Android.

iOS

[!] Unable to find a specification for UMCore depended upon by EXPermissions
You have either:

  • out-of-date source repos which you can update with pod repo update or with pod install --repo-update.
  • mistyped the name or version.
  • not added the source repo that hosts the Podspec to your Podfile.
    [stderr] [!] <PBXResourcesBuildPhase UUID=13B07F8E1A680F5B00A75B9A> attempted to initialize an object with an unknown UUID. D2A10A40937E448399008324 for attribute: files. This can be the result of a merge and the unknown UUID is being discarded.
    pod exited with non-zero code: 1

android

Daemon will be stopped at the end of the build
[stderr] ?? Cannot resolve the path to “@babel/plugin-external-helpers” package.
[stderr] FAILURE: Build completed with 2 failures.
[stderr] 1: Task failed with an exception.
[stderr] -----------
[stderr] * Where:
[stderr] Build file ‘/build/workingdir/build/node_modules/expo-permissions/android/build.gradle’ line: 67
[stderr] * What went wrong:
[stderr] A problem occurred evaluating project ‘:expo-permissions’.
[stderr] > Project with path ‘:unimodules-core’ could not be found in project ‘:expo-permissions’.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] ==============================================================================
[stderr] 2: Task failed with an exception.
[stderr] -----------
[stderr] * What went wrong:
[stderr] A problem occurred configuring project ‘:expo’.
[stderr] > compileSdkVersion is not specified. Please add it to build.gradle
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] ==============================================================================
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 55s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use ‘–warning-mode all’ to show the individual deprecation warnings.
See Command-Line Interface
Error: Gradle build failed with unknown error. Please see logs for the “Run gradlew” phase.

The package.json is written like this.

“dependencies”: {

"@expo-google-fonts/inter": "^0.2.0",

"@expo-google-fonts/noto-sans-jp": "^0.2.0",

"@expo-google-fonts/roboto": "^0.2.0",

"@jrobins/bulma-native": "^0.0.4",

"@react-native-async-storage/async-storage": "~1.15.0",

"@react-native-community/masked-view": "0.1.10",

"@react-native-community/netinfo": "6.0.2",

"@react-navigation/bottom-tabs": "^6.0.5",

"@react-navigation/native": "^5.9.4",

"@react-navigation/stack": "^5.14.4",

"@reduxjs/toolkit": "^1.5.0",

"axios": "^0.21.1",

"expo": "^43.0.0",

"expo-constants": "~12.1.3",

"expo-file-system": "~13.0.3",

"expo-font": "~10.0.3",

"expo-localization": "~11.0.0",

"expo-notifications": "^0.13.3",

"expo-splash-screen": "~0.13.4",

"expo-status-bar": "~1.1.0",

"moment": "^2.27.0",

"moment-timezone": "^0.5.31",

"ncmb-expo-push": "^1.0.0",

"ncmb-react-native": "^2.0.13",

"prop-types": "^15.7.2",

"react": "17.0.1",

"react-dom": "17.0.1",

"react-i18next": "^11.12.0",

"react-native": "https://github.com/expo/react-native/archive/sdk-43.tar.gz",

"react-native-app-link": "^1.0.1",

"react-native-elements": "^3.3.2",

"react-native-gesture-handler": "~1.10.2",

"react-native-reanimated": "~2.2.0",

"react-native-responsive-fontsize": "^0.5.1",

"react-native-responsive-screen": "^1.4.2",

"react-native-root-toast": "^3.2.1",

"react-native-safe-area-context": "3.3.2",

"react-native-screens": "~3.8.0",

"react-native-svg": "12.1.1",

"react-redux": "^7.2.2",

"redux": "^4.0.5",

"redux-logger": "^3.0.6",

"redux-persist": "^6.0.0",

"redux-persist-transform-encrypt": "^3.0.1",

"rn-nodeify": "tradle/rn-nodeify",

"rn-pdf-reader-js": "^4.1.1",

"sentry-expo": "^4.0.0",

"unstated-next": "^1.1.0",

"use-interval": "^1.3.0"

},

“devDependencies”: {

"@babel/core": "^7.12.9",

"@expo/webpack-config": "^0.16.2",

"@types/react": "~17.0.21",

"@types/react-dom": "~17.0.9",

"@types/react-native": "~0.64.12",

"@types/react-native-app-link": "^1.0.0",

"@types/react-redux": "^7.1.12",

"@types/webpack-env": "^1.16.0",

"@typescript-eslint/eslint-plugin": "^3.5.0",

"@typescript-eslint/parser": "^3.5.0",

"eslint": "^7.3.1",

"eslint-config-prettier": "^6.11.0",

"eslint-plugin-import": "^2.22.0",

"eslint-plugin-prettier": "^3.1.4",

"eslint-plugin-react": "^7.20.3",

"eslint-plugin-react-hooks": "^4.0.5",

"patch-package": "^6.2.2",

"prettier": "^2.0.5",

"stylelint": "^13.6.1",

"ts-loader": "^7.0.5",

"typescript": "~4.3.5",

"webpack": "^4.43.0",

"webpack-cli": "^3.3.12"

},

Can you give me some advice on how to solve this problem?
Thank you very much.

+1 can’t install expo permissions

expo-permissions was deprecated a couple sdk releases ago and is no longer supported. notice it is not listed in api docs API Reference - Expo Documentation

Thank you.

I used to use this to get my device token.
Could you please tell me how I can rewrite this code alone?
Thank you very much for your help.

import * as Permissions from 'expo-permissions';
import * as Notifications from 'expo-notifications';
import Constants from 'expo-constants';
import { Platform } from 'react-native';

async getDeviceToken(): Promise<string | null> {
    if (!Constants.isDevice) throw new Error('This is not device');
    let { status: currentStatus } = await Permissions.getAsync(Permissions.NOTIFICATIONS);
    if (currentStatus !== 'granted') {
      const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
      currentStatus = status;
    }
    if (currentStatus !== 'granted') {
      return null;
    }
    return (await Notifications.getDevicePushTokenAsync()).data as string;
  }

Hi. Search for “permission” in the following example code:

Also this:

I was able to rewrite it.
I’ll run it once to verify.
Thank you very much.