Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

viro not support expo lastest vetsion? #319

Open
3 tasks done
tomoyukikino opened this issue Dec 20, 2024 · 7 comments
Open
3 tasks done

viro not support expo lastest vetsion? #319

tomoyukikino opened this issue Dec 20, 2024 · 7 comments

Comments

@tomoyukikino
Copy link

tomoyukikino commented Dec 20, 2024

Requirements:

Please go through this checklist before opening a new issue

Environment

Please provide the following information about your environment:

  1. Development OS: Mac
  2. Device OS & Version: tried ios 18.1.1 and 18.2
  3. Version: ViroReact version 2.41.1 and React Native version 0.76.5
  4. Device(s): iphone 11pro

Description

Describe your issue in detail. Include screenshots if needed. If this is a regression, let us know.

it's success to expo build below command, and can play vino at old version 50 in this sample this repository
but i want to use latest expo version 52.

expo run:ios --device

so i try to update expo to52, rewrite package.json like below...

{
  "name": "expo-starter-kit-typescript",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "clear": "expo start --clear",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "run:ios": "expo run:ios --device",
  },
  "dependencies": {
    "@expo/cli": "0.22.7",
    "@react-native-community/cli": "^15.1.3",
    "@reactvision/react-viro": "^2.41.6", // ← replace from @viro-community/react-viro
    "expo": "52.0.21",
    "expo-status-bar": "~2.0.0",
    "npm-check-updates": "^17.1.11",
    "react": "18.2.0",
    "react-native": "0.76.5"
  },
  "devDependencies": {
    "@babel/core": "^7.26.0",
    "@types/react": "^18.2.6",
    "typescript": "^5.7.2"
  },
  "private": true
}

And change import to "@reactvision/react-viro" from "@viro-community/react-viro".

import {
  ViroARScene,
  ViroText,
  ViroTrackingStateConstants,
  ViroARSceneNavigator,
  ViroTrackingReason,
--- } from "@viro-community/react-viro";
+++ } from "@reactvision/react-viro";

finally, There is success to build.

Click to toggle contents of build success log
$ expo run:ios --device

> [email protected] run:ios
> expo run:ios --device

✔ Select a device › 🔌 Dev1のiPhone (3) (18.1.1)
› Using --device 00008030-000A19D40E20802E
› Auto signing app using team(s): "V52HY42TDL"
› Planning build
    Run script build phase '[CP-User] [Hermes] Replace Hermes for the right configuration, if needed' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'hermes-engine' from project 'Pods')
› Executing react-native Pods/hermes-engine » [CP-User] [Hermes] Replace Hermes for the right configuration, if needed
› Executing react-native Pods/hermes-engine » [CP] Copy XCFrameworks
› Preparing Pods/RCT-Folly-RCT-Folly_privacy » ResourceBundle-RCT-Folly_privacy-RCT-Folly-Info.plist
› Preparing Pods/boost-boost_privacy » ResourceBundle-boost_privacy-boost-Info.plist
› Preparing Pods/glog-glog_privacy » ResourceBundle-glog_privacy-glog-Info.plist
› Preparing Pods/React-cxxreact-React-cxxreact_privacy » ResourceBundle-React-cxxreact_privacy-React-cxxreact-Info.plist
› Preparing Pods/React-Core-React-Core_privacy » ResourceBundle-React-Core_privacy-React-Core-Info.plist
    Run script build phase '[CP-User] [RN]Check rncore' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-Fabric' from project 'Pods')
› Executing react-native Pods/React-Fabric » [CP-User] [RN]Check rncore
› Executing expo-starter-kit-typescript Pods/ReactCodegen » [CP-User] Generate Specs
› Compiling expo-starter-kit-typescript Pods/ReactCodegen » RCTModulesConformingToProtocolsProvider.mm
› Compiling expo-starter-kit-typescript Pods/ReactCodegen » FBReactNativeSpec-generated.mm
› Compiling expo-starter-kit-typescript Pods/ReactCodegen » FBReactNativeSpecJSI-generated.cpp
› Packaging expo-starter-kit-typescript Pods/ReactCodegen » libReactCodegen.a
    Run script build phase '[CP-User] [RN]Check rncore' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-FabricComponents' from project 'Pods')
› Executing react-native Pods/React-FabricComponents » [CP-User] [RN]Check rncore
› Compiling react-native Pods/React-RCTFabric » RCTThirdPartyFabricComponentsProvider.mm
› Compiling react-native Pods/React-RCTNetwork » RCTNetworking.mm
› Compiling react-native Pods/React-RCTFabric » RCTScrollViewComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTUnimplementedViewComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTSwitchComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTSafeAreaViewComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTTextInputComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTPullToRefreshViewComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTParagraphComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTParagraphComponentAccessibilityProvider.mm
› Packaging react-native Pods/React-RCTNetwork » libReact-RCTNetwork.a
› Compiling react-native Pods/React-RCTFabric » RCTInputAccessoryComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTFabricComponentsPlugins.mm
› Compiling react-native Pods/React-RCTFabric » RCTDebuggingOverlayComponentView.mm
› Compiling react-native Pods/React-RCTFabric » RCTComponentViewFactory.mm
› Compiling react-native Pods/React-RCTFabric » RCTActivityIndicatorViewComponentView.mm
› Compiling react-native Pods/React-RCTImage » RCTImageStoreManager.mm
› Compiling react-native Pods/React-RCTImage » RCTImageLoader.mm
› Compiling react-native Pods/React-RCTImage » RCTImageEditingManager.mm
› Packaging react-native Pods/React-RCTImage » libReact-RCTImage.a
› Packaging react-native Pods/React-RCTFabric » libReact-RCTFabric.a
› Compiling react-native Pods/React-RCTAppDelegate » RCTAppSetupUtils.mm
› Compiling react-native Pods/React-RCTBlob » RCTFileReaderModule.mm
› Compiling react-native Pods/React-RCTBlob » RCTBlobManager.mm
› Packaging react-native Pods/React-RCTBlob » libReact-RCTBlob.a
› Compiling react-native Pods/React-CoreModules » RCTTiming.mm
› Compiling react-native Pods/React-CoreModules » RCTAppState.mm
› Compiling react-native Pods/React-CoreModules » RCTActionSheetManager.mm
› Compiling react-native Pods/React-CoreModules » RCTAlertManager.mm
› Compiling react-native Pods/React-CoreModules » RCTClipboard.mm
› Compiling react-native Pods/React-CoreModules » RCTDevLoadingView.mm
› Compiling react-native Pods/React-CoreModules » RCTAppearance.mm
› Compiling react-native Pods/React-CoreModules » RCTAccessibilityManager.mm
› Compiling react-native Pods/React-CoreModules » RCTWebSocketModule.mm
› Compiling react-native Pods/React-CoreModules » RCTStatusBarManager.mm
› Compiling react-native Pods/React-CoreModules » RCTSourceCode.mm
› Compiling react-native Pods/React-CoreModules » RCTRedBox.mm
› Compiling react-native Pods/React-CoreModules » RCTPlatform.mm
› Compiling react-native Pods/React-CoreModules » RCTLogBox.mm
› Compiling react-native Pods/React-CoreModules » RCTKeyboardObserver.mm
› Compiling react-native Pods/React-CoreModules » RCTI18nManager.mm
› Compiling react-native Pods/React-CoreModules » RCTExceptionsManager.mm
› Compiling react-native Pods/React-CoreModules » RCTDeviceInfo.mm
› Compiling react-native Pods/React-CoreModules » RCTDevSettings.mm
› Compiling react-native Pods/React-CoreModules » RCTDevMenu.mm
› Packaging react-native Pods/React-CoreModules » libReact-CoreModules.a
› Compiling react-native Pods/React-domnativemodule » NativeDOM.cpp
› Packaging react-native Pods/React-domnativemodule » libReact-domnativemodule.a
› Compiling react-native Pods/React-featureflagsnativemodule » NativeReactNativeFeatureFlags.cpp
› Packaging react-native Pods/React-featureflagsnativemodule » libReact-featureflagsnativemodule.a
› Compiling react-native Pods/React-idlecallbacksnativemodule » NativeIdleCallbacks.cpp
› Packaging react-native Pods/React-idlecallbacksnativemodule » libReact-idlecallbacksnativemodule.a
› Compiling react-native Pods/React-microtasksnativemodule » NativeMicrotasks.cpp
› Packaging react-native Pods/React-microtasksnativemodule » libReact-microtasksnativemodule.a
› Compiling react-native Pods/React-defaultsnativemodule » DefaultTurboModules.cpp
› Packaging react-native Pods/React-defaultsnativemodule » libReact-defaultsnativemodule.a
› Packaging react-native Pods/React-RCTAppDelegate » libReact-RCTAppDelegate.a
› Executing expo-modules-core Pods/ExpoModulesCore » Copy generated compatibility header
› Compiling expo-asset Pods/ExpoAsset » ExpoAsset-dummy.m
› Packaging expo-asset Pods/ExpoAsset » libExpoAsset.a
› Compiling react-native Pods/React-RCTVibration » RCTVibration.mm
› Compiling react-native Pods/React-RCTAnimation » RCTNativeAnimatedModule.mm
› Compiling react-native Pods/React-RCTSettings » RCTSettingsManager.mm
› Compiling react-native Pods/React-RCTLinking » RCTLinkingManager.mm
› Preparing Pods/EXConstants-ExpoConstants_privacy » ResourceBundle-ExpoConstants_privacy-EXConstants-Info.plist
› Executing expo-asset Pods/ExpoAsset » Copy generated compatibility header
› Preparing Pods/ExpoFileSystem-ExpoFileSystem_privacy » ResourceBundle-ExpoFileSystem_privacy-ExpoFileSystem-Info.plist
› Preparing expo-constants Pods/EXConstants-EXConstants » ResourceBundle-EXConstants-EXConstants-Info.plist
› Executing expo-constants Pods/EXConstants » [CP-User] Generate app.config for prebuilt Constants.manifest
› Compiling expo-keep-awake Pods/ExpoKeepAwake » ExpoKeepAwake-dummy.m
› Compiling expo-font Pods/ExpoFont » ExpoFont-dummy.m
› Packaging expo-keep-awake Pods/ExpoKeepAwake » libExpoKeepAwake.a
› Compiling expo-file-system Pods/ExpoFileSystem » NSData+EXFileSystem.m
› Compiling expo-file-system Pods/ExpoFileSystem » ExpoFileSystem-dummy.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXTaskHandlersManager.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionUploadTaskDelegate.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionTaskDispatcher.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionTaskDelegate.m
› Packaging react-native Pods/React-RCTSettings » libReact-RCTSettings.a
› Packaging react-native Pods/React-RCTLinking » libReact-RCTLinking.a
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionResumableDownloadTaskDelegate.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionHandler.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionDownloadTaskDelegate.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXSessionCancelableUploadTaskDelegate.m
› Compiling react-native Pods/React-RCTAnimation » RCTNativeAnimatedTurboModule.mm
› Compiling expo-file-system Pods/ExpoFileSystem » EXFileSystemLocalFileHandler.m
› Compiling expo-file-system Pods/ExpoFileSystem » EXFileSystemAssetLibraryHandler.m
› Packaging react-native Pods/React-RCTVibration » libReact-RCTVibration.a
› Packaging expo-file-system Pods/ExpoFileSystem » libExpoFileSystem.a
› Compiling expo Pods/Expo » Expo-dummy.m
› Compiling expo Pods/Expo » EXAppDefinesLoader.m
› Compiling expo-constants Pods/EXConstants » EXConstantsService.m
› Compiling expo-constants Pods/EXConstants » EXConstantsInstallationIdProvider.m
› Compiling expo-constants Pods/EXConstants » EXConstants-dummy.m
› Packaging expo Pods/Expo » libExpo.a
› Packaging expo-constants Pods/EXConstants » libEXConstants.a
› Packaging expo-font Pods/ExpoFont » libExpoFont.a
› Executing expo-font Pods/ExpoFont » Copy generated compatibility header
› Executing expo-keep-awake Pods/ExpoKeepAwake » Copy generated compatibility header
› Executing expo Pods/Expo » Copy generated compatibility header
› Executing expo-constants Pods/EXConstants » Copy generated compatibility header
› Executing expo-file-system Pods/ExpoFileSystem » Copy generated compatibility header
› Packaging react-native Pods/React-RCTAnimation » libReact-RCTAnimation.a
› Compiling Pods/Pods-expostarterkittypescript » Pods-expostarterkittypescript-dummy.m
› Packaging Pods/Pods-expostarterkittypescript » libPods-expostarterkittypescript.a
› Executing expostarterkittypescript » [Expo] Configure project
› Compiling expostarterkittypescript » expostarterkittypescript_vers.c
› Compiling expostarterkittypescript » main.m
› Linking   expostarterkittypescript » expostarterkittypescript.debug.dylib
⚠️  ld: ignoring duplicate libraries: '-lc++'
› Linking   expostarterkittypescript » expostarterkittypescript
› Executing expostarterkittypescript » Bundle React Native code and images
› Executing expostarterkittypescript » [CP] Copy Pods Resources
› Preparing expostarterkittypescript » Info.plist
› Generating debug expostarterkittypescript » expostarterkittypescript.app.dSYM
› Generating debug expostarterkittypescript » expostarterkittypescript.app.dSYM
› Signing   expostarterkittypescript » expostarterkittypescript.debug.dylib
› Signing   expostarterkittypescript » __preview.dylib
› Signing   expostarterkittypescript » expostarterkittypescript.app
    Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
› Build Succeeded

› 0 error(s), and 5 warning(s)

Starting Metro Bundler
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▀▄██▀  ▀  █▄ ▀▄▄█  ▀ ▀█▄ █ ▄▄▄▄▄ █
█ █   █ █▀ ▀▄ ▄▀█ ▄▄█ ▄███▀█ ▄▀ █▄█ █   █ █
█ █▄▄▄█ █▀██████ ▀▄ █▀▄▄▄ ▀▄▀█▄ █▄█ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █▄▀▄█ █▄▀ █ █▄▀ █ ▀▄█▄▄▄▄▄▄▄█
█▄▄  ▄▀▄▄ ▀▀ █▄▄▄▀▄█▀▀▀▄▀▄▄█▄▀▄█▀▀ ▀ ▀ ▀ ▀█
█ ▄█▄  ▄▄███  █▀ ▀█▄▀  ▀█ █▀ ▀██▀▀▀█  ▄█ ██
█ ▀▄▀█▄▄   ▀█▄▀▀▀▀█▄▄▀ █▀▀ █▄▄▄▄ ▄█▀ ▀▀ ▀▀█
██▄▀▀▄█▄▀▄▄▄ ▄█ █▀█  ▀▀▀█ █ ▄▀█ █ ▄ █▄▄▄█▀█
█▀  ▄▀█▄▄▄ ▀ ▄ ▄█▀ ▀ ██  █ ▄▄ ▄▀▀█▀▀ ▀  █ █
█▀▀▄▄▄▄▄██▄██▄ ▄   ▀▀ █▄█▀▄▄▄█▄ ▀ ▀█▄▄▀▄▀▀█
█  ▀ █ ▄█ ▀█▄▀█▄ ▄▀▀▄▄ ▄ ▀ ▀▄▄▀▀ ██▀▀▀  ▀ █
█▀ █ ▄ ▄██▀██▀█  ▄▄██▄▀██▀▄▀▄▀▄██▄▄▄ ▄ ▄█▀█
█▀▄▄ ▀█▄ ▄▀ ▀▄▄▄▄▀▄ ▀█▀▄▀█▄▄█ ▄ ▀▀▀▀ ▀ ▄ ▀█
██▄▄██ ▄█▄█ ▀▀█▀▄▀█▄▀█ ▀█▄█▄ ▄▄▀▀▀ █ █▀████
█▀▀███ ▄▄▀█ █▄▀▀ ▀▀▄▄▀▄▀█▄ ▀▄█ ▄▄▀ ▀▄▀▀▄▀▀█
█ █▄█  ▄ █▀▀ ▄▄▄█▀██ ▀ ▀▀▀█▀ ███▀▄▄ ▀▄ ██▀█
█▄████▄▄█  █ ▄  █  ▀ ▄█ ▀█▄ ▄▀▄██ ▄▄▄     █
█ ▄▄▄▄▄ █▄████ ▄   ▀█▀█▄██▄▄ ▀█▄  █▄█  ▄███
█ █   █ █ █▄▄▀█▄ ▄█▀█▄ ▄ ▀▄█▄▄▄▄▀▄▄▄▄▄█▄  █
█ █▄▄▄█ █ ▀▄█▀█▄ ▄█▀█▄ ████▄ █▄▄▀ ▄▄  ▀▄▀██
█▄▄▄▄▄▄▄█▄▄██▄▄█▄█▄██▄█▄█▄▄█▄▄▄█████▄██▄███

› Metro waiting on com.tomoyukikino.expo-starter-kit-typescript://expo-development-client/?url=http%3A%2F%2F100.64.1.46%3A8081
› Scan the QR code above to open the project in a development build. Learn more

› Using development build
› Press s │ switch to Expo Go

› Press a │ open Android
› Press i │ open iOS simulator
› Press w │ open web

› Press j │ open debugger
› Press r │ reload app
› Press m │ toggle menu
› shift+m │ more tools
› Press o │ open project code in your editor

› Press ? │ show all commands

› Installing /Users/tomoyuki/Library/Developer/Xcode/DerivedData/expostarterkittypescript-dalayycyfsarfmhjrdvyrvcqrgiy/Build/Products/Debug-iphoneos/expostarterkittypescript.app
✔ Complete 100%

› Logs for your project will appear below. Press Ctrl+C to exit.
› Reloading apps
No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
› Reloading apps
No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
› Reloading apps
No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
› Reloading apps
No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
iOS Bundled 811ms node_modules/expo/AppEntry.js (713 modules)
iOS Bundled 45ms node_modules/expo/AppEntry.js (1 module)
iOS Bundled 47ms node_modules/expo/AppEntry.js (1 module)
iOS Bundled 43ms node_modules/expo/AppEntry.js (1 module)
iOS Bundled 57ms node_modules/expo/AppEntry.js (1 module)
iOS Bundled 46ms node_modules/expo/AppEntry.js (1 module)
iOS Bundled 493ms node_modules/expo/AppEntry.js (711 modules)
 (NOBRIDGE) LOG  Bridgeless mode is enabled
 (NOBRIDGE) ERROR  TypeError: Cannot read property 'setJSMaterials' of null
 INFO
 💡 JavaScript logs will be removed from Metro in React Native 0.77! Please use React Native DevTools as your default tool. Tip: Type j in the terminal to open (requires Google Chrome or Microsoft Edge).
 (NOBRIDGE) WARN  🚨 React Native's New Architecture is always enabled in Expo Go, but it is not explicitly enabled your project app config. This may lead to unexpected behavior when you create a production or development build. Set "newArchEnabled": true in your app.json.
Learn more: https://docs.expo.dev/guides/new-architecture/

So I opened app in my iphone by expo development build, but crashed.
viro not support expo lastest vetsion?

Reproducible Demo

Let us know how to reproduce the issue. Include a code sample, screen capture, video recording. The more information you provide, the better we can support you.

hoge2.mp4
@djmarcosban
Copy link

djmarcosban commented Dec 23, 2024

same issue here, but in android. My app dont build too.

"expo": "52.0.21",
"react-native": "0.76.5",

Windows

"@reactvision/react-viro": "^2.41.6",

@tomoyukikino
Copy link
Author

viro may not support latest version react-native?

@astrolinux
Copy link

Try downgrading react native to version 0.73.x. I tried in react-native (not in expo from which I had to move because it didn't work for me either at least under iOS) and it works while with version 0.76.x
Here https://www.themorrow.digital/blog/how-to-build-an-ar-app-for-expo-using-reactvision-formerly-nativevision I have found the solution: no 0.74 and expo51 support

@djmarcosban
Copy link

Try downgrading react native to version 0.73.x. I tried in react-native (not in expo from which I had to move because it didn't work for me either at least under iOS) and it works while with version 0.76.x Here https://www.themorrow.digital/blog/how-to-build-an-ar-app-for-expo-using-reactvision-formerly-nativevision I have found the solution: no 0.74 and expo51 support

i will test

@evanstern
Copy link

evanstern commented Jan 7, 2025

I was able to get my project to build in Android by downgrading to Expo 50 and RN 73. It was able to build for iOS just fine at Expo 52, but android only works on 50.

[edit] Question: Is this project still actively under development? The last release was in June of 2024 so I'm curious if this project is still worth using on a new application in RN/Expo.

@entiendoNull
Copy link

Expo SDK 52 ships with the React Native New Architecture enabled as default for new projects. I have no previous experience of Viro, but perhaps it's not compatible with the New Architecture?

You can disable it by changing this line in your app.json

"newArchEnabled": true
to
"newArchEnabled": false

@tomoyukikino
Copy link
Author

Contributer will support expo 52 until 1month ago😂

https://discord.com/channels/774471080713781259/942014767571292200/1326347604396740668

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants