mym0404 / react-native-naver-map

Naver Map for React Native - Bring Naver Map to Your React Fingertips
https://mym0404.github.io/react-native-naver-map/
MIT License
82 stars 4 forks source link

[BUG]: android/iOS release 빌드 후 실행 시 앱 크래시 #92

Closed ride-voa closed 3 weeks ago

ride-voa commented 1 month ago

Is there an existing issue for this?

Version of @mj-studio/react-native-naver-map

1.5.8

Version of react-native

0.72.4

What os are you seeing the problem on?

Android, iOS

What device types are you seeing the problem on?

Physcial Device

What architecture types of react native are you seeing the problem on?

Old Architecture(Bridge)

Version of device(android API, iOS OS version, etc...)

iOS 16.7.8, Android 14 (API level 34)

Expo App

What happened?

android에서는 debug 모드에서는 정상적으로 지도가 띄워졌으나, release 모드에서 지도를 실행할 경우 앱 크래시 발생 ios에서는 debug 모드에서는 간헐적으로 앱 크래시 발생(처음 발생 후 앱 재실행 후 재현 안됨), release 모드에서 지도를 실행할 경우 앱 크래시 발생

Relevant a package.json.

{
  "name": "ridenowapp",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "prepare": "husky install",
    "postinstall": "patch-package && husky install",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "android:dev": "ENVFILE=env/.env.dev react-native run-android --mode=developmentdebug --appIdSuffix=dev",
    "android:stage": "ENVFILE=env/.env.stage react-native run-android --mode=stagingdebug --appIdSuffix=stage",
    "android:prod": "ENVFILE=env/.env.product react-native run-android --mode=productiondebug",
    "ios:dev": "react-native run-ios --scheme Dev --simulator=\"iPhone 15\" --destination=\"platform=OS X,arch=x86_64\"",
    "ios:stage": "react-native run-ios --scheme Stage --simulator=\"iPhone 15\" --destination=\"platform=OS X,arch=x86_64\"",
    "ios:prod": "react-native run-ios --scheme Production --simulator=\"iPhone 15\" --destination=\"platform=OS X,arch=x86_64\"",
    "android:dev-apk": "cd android && ENVFILE=env/.env.dev ./gradlew assembledevelopmentrelease",
    "android:stage-apk": "cd android && ENVFILE=env/.env.stage ./gradlew assemblestagingrelease",
    "android:prod-apk": "cd android && ENVFILE=env/.env.product ./gradlew assembleproductionrelease",
    "android:dev-aab": "cd android && ENVFILE=env/.env.dev ./gradlew bundledevelopmentrelease",
    "android:stage-aab": "cd android && ENVFILE=env/.env.stage ./gradlew bundlestagingrelease",
    "android:prod-aab": "cd android && ENVFILE=env/.env.product ./gradlew bundleproductionrelease",
    "fastlane-ios-stage": "cd ios && fastlane beta",
    "format": "prettier --write '{**/*,*}.{js,ts,jsx,tsx}'",
    "lint": "eslint --cache --fix '{**/*,*}.{js,ts,jsx,tsx}'",
    "codepush:android:dev": "appcenter codepush release-react -a ridenow/ridenow_android -d Dev",
    "codepush:android:stage": "appcenter codepush release-react -a ridenow/ridenow_android -d Staging",
    "codepush:android:prod": "appcenter codepush release-react -a ridenow/ridenow_android -d Production",
    "codepush:ios:dev": "appcenter codepush release-react -a ridenow/ridenow_ios -d Dev",
    "codepush:ios:stage": "appcenter codepush release-react -a ridenow/ridenow_ios -d Staging",
    "codepush:ios:prod": "appcenter codepush release-react -a ridenow/ridenow_ios -d Production",
    "fastlane:android:dev": "cd android && fastlane upload --env dev && cd ..",
    "fastlane:ios:dev": "cd ios && fastlane upload --env dev && cd ..",
    "fastlane:android:stage": "cd android && fastlane upload --env stage && cd ..",
    "fastlane:ios:stage": "cd ios && fastlane upload --env stage && cd ..",
    "fastlane:android:prod": "cd android && fastlane upload --env prod && cd ..",
    "fastlane:ios:prod": "cd ios && fastlane upload --env prod && cd .."
  },
  "dependencies": {
    "@craftzdog/react-native-buffer": "^6.0.5",
    "@emotion/native": "^11.11.0",
    "@emotion/react": "^11.11.1",
    "@gorhom/bottom-sheet": "^4",
    "@invertase/react-native-apple-authentication": "^2.3.0",
    "@mj-studio/react-native-naver-map": "v1.5.8",
    "@notifee/react-native": "^7.8.0",
    "@react-native-async-storage/async-storage": "^1.19.3",
    "@react-native-clipboard/clipboard": "^1.12.1",
    "@react-native-community/geolocation": "^3.1.0",
    "@react-native-community/hooks": "^3.0.0",
    "@react-native-firebase/analytics": "^18.6.1",
    "@react-native-firebase/app": "^18.6.1",
    "@react-native-firebase/crashlytics": "^18.6.1",
    "@react-native-firebase/dynamic-links": "^18.6.1",
    "@react-native-firebase/messaging": "^18.6.1",
    "@react-native-google-signin/google-signin": "^11.0.0",
    "@react-native-masked-view/masked-view": "^0.3.0",
    "@react-native-seoul/kakao-login": "^5.3.1",
    "@react-native-seoul/naver-login": "^3.0.0",
    "@react-navigation/bottom-tabs": "^6.5.9",
    "@react-navigation/native": "^6.1.8",
    "@react-navigation/native-stack": "^6.9.14",
    "@react-navigation/stack": "^6.3.18",
    "@tanstack/react-query": "^4.33.0",
    "@toss/use-overlay": "^1.3.6",
    "add": "^2.0.6",
    "axios": "^1.5.0",
    "dayjs": "^1.11.10",
    "lodash-es": "^4.17.21",
    "lottie-react-native": "^6.3.1",
    "react": "18.2.0",
    "react-hook-form": "^7.46.1",
    "react-native": "0.72.4",
    "react-native-calendars": "^1.1301.0",
    "react-native-channel-plugin": "^0.8.0",
    "react-native-circular-progress": "^1.3.9",
    "react-native-code-push": "^8.1.0",
    "react-native-config": "^1.5.1",
    "react-native-device-info": "^10.11.0",
    "react-native-exit-app": "^2.0.0",
    "react-native-fast-image": "^8.6.3",
    "react-native-gesture-handler": "^2.13.4",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-linear-gradient": "^2.8.3",
    "react-native-modal": "^13.0.1",
    "react-native-pager-view": "^6.3.0",
    "react-native-permissions": "^3.10.1",
    "react-native-reanimated": "^3.5.4",
    "react-native-reanimated-carousel": "^3.5.1",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "^4.7.2",
    "react-native-screens": "^3.25.0",
    "react-native-skeleton-placeholder": "^5.2.4",
    "react-native-splash-screen": "^3.3.0",
    "react-native-status-bar-height": "^2.6.0",
    "react-native-svg": "^13.13.0",
    "react-native-tab-view": "^3.5.2",
    "react-native-text-recognizer": "^0.1.1",
    "react-native-toast-message": "^2.1.6",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-vision-camera": "^3.8.2",
    "react-native-webview": "^13.6.2",
    "react-native-worklets-core": "^0.3.0",
    "vision-camera-dynamsoft-document-normalizer": "^2.1.0",
    "yarn": "^1.22.19",
    "zustand": "^4.4.1"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
    "@babel/preset-env": "^7.20.0",
    "@babel/runtime": "^7.20.0",
    "@react-native/metro-config": "^0.72.11",
    "@tsconfig/react-native": "^3.0.0",
    "@types/lodash-es": "^4.17.9",
    "@types/react": "^18.0.24",
    "@types/react-native-channel-plugin": "^0",
    "@types/react-test-renderer": "^18.0.0",
    "@typescript-eslint/eslint-plugin": "^6.9.1",
    "@typescript-eslint/parser": "^6.9.1",
    "babel-jest": "^29.2.1",
    "babel-plugin-module-resolver": "^5.0.0",
    "eslint": "^8.19.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-airbnb-typescript": "^17.1.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-jsx-a11y": "^6.8.0",
    "eslint-plugin-react": "^7.33.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "husky": ">=7",
    "jest": "^29.2.1",
    "lint-staged": ">=10",
    "metro-react-native-babel-preset": "0.76.8",
    "patch-package": "^8.0.0",
    "postinstall-postinstall": "^2.1.0",
    "prettier": "^2.4.1",
    "react-native-svg-transformer": "^1.1.0",
    "react-test-renderer": "18.2.0",
    "typescript": "4.8.4"
  },
  "engines": {
    "node": ">=16"
  },
  "packageManager": "yarn@3.6.3",
  "lint-staged": {
    "*.{js,ts,jsx,tsx}": [
      "yarn lint",
      "yarn format"
    ]
  }
}

Relevant log output

Fatal Exception: com.facebook.react.common.JavascriptException: Invariant Violation: requireNativeComponent: "RNNaverMapView" was not found in the UIManager.

This error is located at:
    in RNNaverMapView
    in i
    in RCTView
    in Unknown
    in Unknown
    in RCTView
    in Unknown
    in RNCSafeAreaView
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in RCTView
    in Unknown
    in RCTView
    in Unknown
    in RCTView
    in Unknown
    in Unknown
    in RCTView
    in Unknown
    in Unknown
    in PanGestureHandler
    in Unknown
    in RCTView
    in Unknown
    in Unknown
    in RCTView
    in Unknown
    in k
    in Unknown
    in RNSScreen
    in Unknown
    in n
    in Suspense
    in Unknown
    in G
    in l
    in l
    in Unknown
    in RNSScreenContainer
    in ScreenContainer
    in Unknown
    in RCTView
    in Unknown
    in Unknown
    in _
    in RCTView
    in Unknown
    in u
    in RNGestureHandlerRootView
    in Unknown
    in S
    in Unknown
    in n
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in RNCSafeAreaProvider
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in Unknown
    in RNGestureHandlerRootView
    in Unknown
    in Unknown
    in E
    in RCTView
    in Unknown
    in RCTView
    in Unknown
    in h, js engine: hermes, stack:
anonymous@9:290
anonymous@63:1060
anonymous@223:185
anonymous@59:920
fa@231:66115
Ni@231:86265
zi@231:86147
Ri@231:86014
Pi@231:85779
ki@231:82748
xt@231:27347
Ce@231:98365
Ne@231:14122
Me@231:14499
receiveTouches@231:15281
value@30:3884
anonymous@30:761
value@30:2590
value@30:732

       at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:65)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
       at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
       at com.facebook.jni.NativeRunnable.run(NativeRunnable.java)
       at android.os.Handler.handleCallback(Handler.java:958)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
       at android.os.Looper.loopOnce(Looper.java:230)
       at android.os.Looper.loop(Looper.java:319)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
       at java.lang.Thread.run(Thread.java:1012)

Reproducible Sample Repository

https://github.com/mym0404/react-native-naver-map

Code of Conduct

github-actions[bot] commented 3 weeks ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 2 days.