expo: expo@45 expo-av@11.2.3 and expo-camera@12.1.2 not work on iOS
Summary
just use Video sample code, but initWithEXAV didn’t called.
downgrade to 44 or use Android, it works fine.
Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!
bare
What platform(s) does this occur on?
iOS
SDK Version (managed workflow only)
No response
Environment
expo-env-info 1.0.3 environment info:
System:
OS: macOS 12.0.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.10.0 - /usr/local/bin/node
Yarn: 1.22.11 - ~/.nvm/versions/node/v16.10.0/bin/yarn
npm: 7.24.0 - ~/.nvm/versions/node/v16.10.0/bin/npm
Watchman: 4.9.0 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7678000
Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild
npmPackages:
expo: ^45.0.0 => 45.0.1
react: 17.0.2 => 17.0.2
react-native: 0.68.1 => 0.68.1
npmGlobalPackages:
expo-cli: 5.4.3
Expo Workflow: bare
Reproducible demo
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 3
- Comments: 29 (18 by maintainers)
this is resolved with
expo@45.0.2- thank you for the report!I’m experiencing the exact same issue. It’s like the component don’t get mounted at all, since the the video doesn’t even start loading. It’s even more confusing as I know that @hirbod makes really extensive use of expo-av and it seems to work perfectly for him.
Android works perfectly.
I found that all props of video component are not working, not just source prop, it should be a generic problem.
@mephisto83 - sdk 45.0.0 uses expo@^45.0.0. the expo package version != sdk version. open your package.json and change the “expo” version to ^45.0.2
Okay, I managed to reproduce it. Repro here:
https://github.com/fobos531/expoav-repro
What I did is: take @hirbod’s we.tl/t-wiy7HZrdbG repro. Execute:
Add
import 'expo-dev-client'to App.js. No other changes have been made to the code. Created a developmentClient build using EAS. Tried running the code in the dev client. Same issue as described here in this thread.I don’t know if it’s device specific or something else - the phone I’m testing on is a physical iPhone 12.
Looks like that I totally forgot that I was also fighting with a regression, lol https://github.com/expo/expo/pull/17036#issuecomment-1113206489
See my comment 10 days ago. My findings have been that I could not load a video without calling
loadAsync. @bbarthec @Pickleboyonline @barthap did we messed up something?The reason why this slipped through for me was, that I am loading my videos imperatively and not declaratively (only one spot used to load it via source prop, which did indeed trigger a regression for me, but I did not investigate this further)
So a workaround for all of you folks right now is to use
loadAsyncuntil loading via prop is fixed.Ok, some more findings
Does load the video. So we have an issue with the initial via source prop. It does not matter if the app is using JSC/Hermes. Both fail
I can reproduce this in bare React Native app as well (RN 0.68.2).
Had the exactly the same issues as well on iOS with expo-av@11.2.3 /w SDK 45 and Hermes, android works fine.
Edit: I am using expo-dev-client, bare workflow as well
I think SDK45 support for snack is coming soon.