- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 172
Open
Labels
help wantedExtra attention is neededExtra attention is needed
Description
What happened?
I was going through the setup instructions outlined here for my expo app and once I got to rebuilding my app using eas, I was met with the following error
[INSTALL_PODS] [Codegen] Processing RNGoogleMobileAdsSpec
[INSTALL_PODS] [Codegen] Searching for podspec in the project dependencies.
[INSTALL_PODS] [Codegen] Supported Apple platforms: ios for RNGoogleMobileAdsSpec
[INSTALL_PODS] [Codegen] Done.
[INSTALL_PODS] UnsupportedModulePropertyParserError: Module NativeGoogleMobileAdsNativeModule: TypeScript interfaces extending TurboModule must only contain 'FunctionTypeAnnotation's. Property 'onAdEvent' refers to a 'TSTypeReference'.
[INSTALL_PODS] at throwIfModuleTypeIsUnsupported (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/error-utils.js:163:11)
[INSTALL_PODS] at buildPropertySchema (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:472:3)
[INSTALL_PODS] at /private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:705:24
[INSTALL_PODS] at guard (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/utils.js:26:14)
[INSTALL_PODS] at /private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:702:14
[INSTALL_PODS] at Array.map (<anonymous>)
[INSTALL_PODS] at buildModuleSchema (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:699:6)
[INSTALL_PODS] at /private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:522:9
[INSTALL_PODS] at guard (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/utils.js:26:14)
[INSTALL_PODS] at buildSchemaFromConfigType (/private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/node_modules/@react-native/codegen/lib/parsers/parsers-commons.js:521:22) {
[INSTALL_PODS] nodes: [ undefined ]
[INSTALL_PODS] }
[INSTALL_PODS] .
[INSTALL_PODS] # from /private/var/folders/z2/kwhjzy4s6nv00tkb0w1vrq3w0000gn/T/eas-build-local-nodejs/2064bb07-3579-428a-92b4-ba539487f1bf/build/app/ios/Podfile:44
[INSTALL_PODS] # -------------------------------------------
[INSTALL_PODS] #
[INSTALL_PODS] > use_react_native!(
[INSTALL_PODS] # :path => config[:reactNativePath],
[INSTALL_PODS] # -------------------------------------------
[INSTALL_PODS] [!] [Codegen] warn: using experimental new codegen integration
[INSTALL_PODS]
Error: pod install exited with non-zero code: 1
at ChildProcess.completionListener (/Users/chrisbanas/.npm/_npx/203b5a3d3de594cf/node_modules/@expo/spawn-async/build/spawnAsync.js:42:23)
at Object.onceWrapper (node:events:633:26)
at ChildProcess.emit (node:events:518:28)
at maybeClose (node:internal/child_process:1105:16)
at Socket.<anonymous> (node:internal/child_process:457:11)
at Socket.emit (node:events:518:28)
at Pipe.<anonymous> (node:net:337:12)
The steps I did to get to here were
npx expo install react-native-google-mobile-ads
- Added necessary config plugins (shown below)
- Run
eas build --profile development-simulator --platform ios --local
to generate a new build
Platforms
iOS, but have not tested behavior on Android
React Native Info
System:
OS: macOS 15.0.1
CPU: (8) x64 Intel(R) Core(TM) i7-8569U CPU @ 2.80GHz
Memory: 707.65 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.11.0
path: ~/.nvm/versions/node/v20.11.0/bin/node
Yarn:
version: 1.22.21
path: /usr/local/bin/yarn
npm:
version: 10.2.4
path: ~/.nvm/versions/node/v20.11.0/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.15.2
path: /usr/local/lib/ruby/gems/3.3.0/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.0
- iOS 18.0
- macOS 15.0
- tvOS 18.0
- visionOS 2.0
- watchOS 11.0
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 16.0/16A242d
path: /usr/bin/xcodebuild
Languages:
Java:
version: 21.0.2
path: /usr/bin/javac
Ruby:
version: 3.3.0
path: /usr/local/opt/ruby/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: ^18.2.0
react-native:
installed: 0.74.5
wanted: 0.74.5
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Are your using Typescript?
- My project is using TypescriptTo pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
package.json
{
"name": "app",
"version": "1.0.0",
"scripts": {
"start": "APP_VARIANT=development npx expo start",
"start-clear-cache": "APP_VARIANT=development npx expo -c",
"tsc": "tsc --noEmit",
"test": "jest --maxWorkers=50%",
"prepare": "cd .. && husky install",
"lint": "eslint \"**/*.{ts,tsx,js,jsx}\" --fix",
"lint-check": "eslint \"**/*.{ts,tsx,js,jsx}\"",
"prettier": "prettier \"**/*.{ts,tsx,js,jsx,json}\" --write",
"prettier-check": "prettier \"**/*.{ts,tsx,js,jsx,json}\" --check",
"ios": "expo run:ios",
"android": "expo run:android"
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix",
"prettier --write"
],
"*.json": "prettier --write"
},
"dependencies": {
"@config-plugins/react-native-branch": "^8.0.0",
"@giphy/react-native-sdk": "^3.3.1",
"@gorhom/bottom-sheet": "^4.6.4",
"@react-native-async-storage/async-storage": "1.23.1",
"@react-native-masked-view/masked-view": "^0.3.1",
"@react-navigation/bottom-tabs": "^6.6.1",
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.11.0",
"@react-navigation/stack": "^6.4.1",
"@reduxjs/toolkit": "^2.2.7",
"@sentry/react-native": "~5.24.3",
"@tamagui/animations-react-native": "^1.112.22",
"@tamagui/babel-plugin": "^1.112.22",
"@tamagui/config": "^1.112.22",
"@tamagui/font-inter": "^1.112.22",
"@tamagui/theme-base": "^1.112.22",
"@types/jest": "^29.5.13",
"@types/lodash": "^4.17.10",
"babel-plugin-transform-inline-environment-variables": "^0.4.4",
"expo": "~51.0.39",
"expo-application": "~5.9.1",
"expo-av": "~14.0.7",
"expo-background-fetch": "~12.0.1",
"expo-build-properties": "~0.12.5",
"expo-constants": "~16.0.2",
"expo-contacts": "~13.0.5",
"expo-dev-client": "~4.0.29",
"expo-device": "~6.0.2",
"expo-file-system": "~17.0.1",
"expo-firebase-recaptcha": "^2.3.1",
"expo-font": "~12.0.10",
"expo-haptics": "~13.0.1",
"expo-image": "~1.13.0",
"expo-image-picker": "~15.0.7",
"expo-linear-gradient": "~13.0.2",
"expo-linking": "~6.3.1",
"expo-localization": "~15.0.3",
"expo-network": "~6.0.1",
"expo-notifications": "~0.28.19",
"expo-screen-capture": "~6.0.1",
"expo-splash-screen": "~0.27.7",
"expo-status-bar": "~1.12.1",
"expo-store-review": "~7.0.2",
"expo-system-ui": "~3.0.7",
"expo-tracking-transparency": "~4.0.2",
"expo-updates": "~0.25.27",
"expo-web-browser": "~13.0.3",
"firebase-sdk": "npm:firebase@^10.14.0",
"gifted-charts-core": "^0.1.43",
"jest": "^29.7.0",
"jest-expo": "~51.0.4",
"libphonenumber-js": "^1.11.10",
"lodash": "^4.17.21",
"lottie-react-native": "6.7.0",
"metro": "~0.80.12",
"moize": "^6.1.6",
"obscenity": "^0.4.0",
"posthog-react-native": "^3.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-native": "0.74.5",
"react-native-branch": "^6.4.0",
"react-native-circular-progress": "^1.4.0",
"react-native-gesture-handler": "~2.16.1",
"react-native-get-random-values": "~1.11.0",
"react-native-gifted-charts": "^1.4.43",
"react-native-google-mobile-ads": "^14.8.0",
"react-native-international-phone-number": "^0.7.6",
"react-native-notifier": "^2.0.0",
"react-native-popover-view": "^5.1.9",
"react-native-purchases": "^8.2.3",
"react-native-reanimated": "~3.10.1",
"react-native-safe-area-context": "4.10.5",
"react-native-screens": "3.31.1",
"react-native-svg": "15.2.0",
"react-native-svg-transformer": "^1.5.0",
"react-native-view-shot": "^3.8.0",
"react-native-web": "^0.19.12",
"react-native-webview": "13.8.6",
"react-redux": "^9.1.2",
"redux-persist": "^6.0.0",
"tabler-icons-react-native": "^3.1.0",
"tamagui": "^1.112.22",
"uuid": "^10.0.0"
},
"devDependencies": {
"@babel/core": "^7.25.7",
"@types/react": "~18.2.79",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.13.0",
"@typescript-eslint/parser": "^7.13.0",
"babel-plugin-module-resolver": "^5.0.2",
"eslint": "^8.56.0",
"eslint-plugin-react": "^7.34.2",
"eslint-plugin-unused-imports": "^3.2.0",
"husky": "^9.1.6",
"lint-staged": "^15.2.10",
"prettier": "3.3.3",
"typescript": "~5.3.3"
},
"private": true
}
app.json
import "dotenv/config";
const IS_DEV = process.env.APP_VARIANT === "development";
const BRANCH_KEY = process.env.BRANCH_IO_KEY || "key_for_android";
const getIcon = () => {
if (IS_DEV) return "./assets/logos/appIconDev.png";
return "./assets/logos/appIcon.png";
};
const getSplashScreen = () => {
if (IS_DEV) return "./assets/logos/splashScreenDev.png";
return "./assets/logos/splashScreen.png";
};
const getBundleIdentifier = () => {
if (IS_DEV) return "-";
return "-";
};
const getName = () => {
if (IS_DEV) return "-";
return "-";
};
export default {
name: getName(),
slug: "-",
owner: "-",
version: "1.2.4",
scheme: "-",
orientation: "portrait",
icon: getIcon(),
userInterfaceStyle: "automatic",
assetBundlePatterns: ["**/*"],
ios: {
supportsTablet: false,
config: {
usesNonExemptEncryption: false,
},
associatedDomains: [
"-",
],
bundleIdentifier: getBundleIdentifier(),
infoPlist: {
NSContactsUsageDescription:
"Allow $(PRODUCT_NAME) to access your contacts to help you find and connect with your friends within the app",
NSPhotoLibraryUsageDescription:
"Allow $(PRODUCT_NAME) to access your photos to let you choose and set a profile picture",
},
splash: {
image: getSplashScreen(),
resizeMode: "contain",
backgroundColor: "#EFEFEF",
dark: {
image: getSplashScreen(),
resizeMode: "contain",
backgroundColor: "#3E3E49",
},
},
privacyManifests: {
NSPrivacyAccessedAPITypes: [
{
NSPrivacyAccessedAPIType: "NSPrivacyAccessedAPICategoryDiskSpace",
NSPrivacyAccessedAPITypeReasons: ["E174.1", "85F4.1"],
},
{
NSPrivacyAccessedAPIType: "NSPrivacyAccessedAPICategoryFileTimestamp",
NSPrivacyAccessedAPITypeReasons: ["C617.1", "0A2A.1", "3B52.1"],
},
{
NSPrivacyAccessedAPIType: "NSPrivacyAccessedAPICategorySystemBootTime",
NSPrivacyAccessedAPITypeReasons: ["35F9.1"],
},
{
NSPrivacyAccessedAPIType: "NSPrivacyAccessedAPICategoryUserDefaults",
NSPrivacyAccessedAPITypeReasons: ["CA92.1"],
},
],
},
},
plugins: [
"@giphy/react-native-sdk",
[
"expo-build-properties",
{
ios: {
useFrameworks: "static",
},
},
],
[
"expo-contacts",
{
contactsPermission:
"Allow $(PRODUCT_NAME) to access your contacts to help you find and connect with your friends within the app",
},
],
[
"expo-image-picker",
{
photosPermission:
"Allow $(PRODUCT_NAME) to access your photos to let you choose and set a profile picture",
},
],
"expo-localization",
[
"expo-font",
{
fonts: ["./assets/fonts/Montserrat-ExtraBold.ttf", "./assets/fonts/Montserrat-Black.ttf"],
},
],
[
"@sentry/react-native/expo",
{
url: "https://sentry.io/",
project: "-",
organization: "-",
},
],
[
"expo-dev-client",
{
addGeneratedScheme: !IS_DEV,
},
],
[
"@config-plugins/react-native-branch",
{
apiKey: BRANCH_KEY,
iosAppDomain: "-",
},
],
[
"react-native-google-mobile-ads",
{
iosAppId: "-",
skAdNetworkItems: [
"cstr6suwn9.skadnetwork",
"4fzdc2evr5.skadnetwork",
"2fnua5tdw4.skadnetwork",
"ydx93a7ass.skadnetwork",
"p78axxw29g.skadnetwork",
"v72qych5uu.skadnetwork",
"ludvb6z3bs.skadnetwork",
"cp8zw746q7.skadnetwork",
"3sh42y64q3.skadnetwork",
"c6k4g5qg8m.skadnetwork",
"s39g8k73mm.skadnetwork",
"3qy4746246.skadnetwork",
"hs6bdukanm.skadnetwork",
"mlmmfzh3r3.skadnetwork",
"v4nxqhlyqp.skadnetwork",
"wzmmz9fp6w.skadnetwork",
"su67r6k2v3.skadnetwork",
"yclnxrl5pm.skadnetwork",
"7ug5zh24hu.skadnetwork",
"gta9lk7p23.skadnetwork",
"vutu7akeur.skadnetwork",
"y5ghdn5j9k.skadnetwork",
"v9wttpbfk9.skadnetwork",
"n38lu8286q.skadnetwork",
"47vhws6wlr.skadnetwork",
"kbd757ywx3.skadnetwork",
"9t245vhmpl.skadnetwork",
"a2p9lx4jpn.skadnetwork",
"22mmun2rn5.skadnetwork",
"4468km3ulz.skadnetwork",
"2u9pt9hc89.skadnetwork",
"8s468mfl3y.skadnetwork",
"ppxm28t8ap.skadnetwork",
"uw77j35x4d.skadnetwork",
"pwa73g5rt2.skadnetwork",
"578prtvx9j.skadnetwork",
"4dzt52r2t5.skadnetwork",
"tl55sbb4fm.skadnetwork",
"e5fvkxwrpn.skadnetwork",
"8c4e2ghe7u.skadnetwork",
"3rd42ekr43.skadnetwork",
"3qcr597p9d.skadnetwork",
],
userTrackingUsageDescription:
"Allow $(PRODUCT_NAME) to use your data to provide a better ad experience.",
},
],
[
"expo-tracking-transparency",
{
userTrackingPermission:
"Allow $(PRODUCT_NAME) to use your data to provide a better ad experience.",
},
],
],
extra: {
eas: {
projectId: "-",
},
},
updates: {
enabled: true,
checkAutomatically: "ON_LOAD",
fallbackToCacheTimeout: 0,
url: "-",
},
runtimeVersion: {
policy: "appVersion",
},
android: {
config: {
branch: { apiKey: BRANCH_KEY },
},
},
};
ios/Podfile
No response
android/build.gradle
No response
android/app/build.gradle
No response
android/settings.gradle
No response
AndroidManifest.xml
No response
Metadata
Metadata
Assignees
Labels
help wantedExtra attention is neededExtra attention is needed
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
mikehardy commentedon Jan 1, 2025
and Expo 51
Could you update to current versions and re-test? Logging issues against old versions frequently has us chasing ghosts as issues are already fixed and you just need to update
May not be the case, but may be the case and we don't have any time to chase fixed isses
Thanks
RobertoJoseph commentedon Jan 1, 2025
I'm experiencing the same issue. Could you clarify what update you mean? This is the latest version of the package @mikehardy
RobertoJoseph commentedon Jan 1, 2025
DId you fix the issue sir? @ChristopherBanas
mikehardy commentedon Jan 1, 2025
Current react-native, current expo
RobertoJoseph commentedon Jan 1, 2025
I did update them and I have these versions currently and still having the same issue when building
this is my react native and expo version
"react-native": "0.74.5"
"expo": "~51.0.39",
@mikehardy
mikehardy commentedon Jan 1, 2025
expo 52, react-native 76.x are current @RobertoJoseph
RobertoJoseph commentedon Jan 1, 2025
It works after updating, thanks sir! @mikehardy
mohammadmas1988 commentedon Jan 1, 2025
I have the same issue after pod install.
version 14.0.8.
react-native version 0.75.3.
mikehardy commentedon Jan 1, 2025
@mohammadmas1988 I expect you will have the same success after updating to current react-native, which is what the new Native Ads feature was built and tested with.
We should support previous react-native versions but I think all of your friendly volunteers here are on holiday so unless someone posts a PR for compatibility, you'll have to upgrade your react-native to get the current react-native-google-mobile-ads version to work, or you'll need to stay on prior versions of react-native-google-mobile-ads.
[-][🐛] Eas build failure with UnsupportedModulePropertyParserError[/-][+][🐛] Eas build failure with UnsupportedModulePropertyParserError (workaround: use react-native 0.76+ / expo 52+)[/+]sandeepdoad commentedon Jan 1, 2025
mikehardy commentedon Jan 1, 2025
Please read the comment thread carefully.
Also the title which I updated prior to your comment.
Podfile
file (duplicate, solution use current react-native 0.76+ / expo 52+) #67924 remaining items