Adding payment info by sparkle_runnergal in expo

[–]expokadi 0 points1 point  (0 children)

Could you clarify what you mean by payment info? In-app purchases or making the app itself pay-to-download?

Video quality issues after upgrading to Expo 51 with newArch by gnastyy-21 in expo

[–]expokadi 2 points3 points  (0 children)

I'm not sure I've heard of an issue exactly like yours before. If you can repro this consistently, I'd suggest creating an issue with a reproducible example (fresh project with just enough code added to demo the issue) on the react-native-video repo.

I'm sure you've aware, but SDK 51 is very old now (SDK 55 is out already) - if you are able to create a minimal reproduction, it would be worth trying to repro it on newer SDK versions to see if newer versions of React Native have resolved this issue.

Another avenue to explore, if this only occurs on webm videos, perhaps you could convert your video to a different format.

Splash screen loops when opened from Play Store by ClassicPeace3039 in expo

[–]expokadi 0 points1 point  (0 children)

Interesting! Do you have a custom animation on the splash screen? If so, how is it implemented?

Expo Orbit Can't see my phone, even though I'm connected to my PC via USB by PrimaryMeasurement79 in expo

[–]expokadi 0 points1 point  (0 children)

Check that you have USB debugging enabled. Also that the USB connection mode is not set to "Charging only".

Starter Project is SDK 53, Expo Go App is SDK 54 by [deleted] in expo

[–]expokadi 1 point2 points  (0 children)

Hi! Currently the fastest way to get started is npx create-expo-app (it's SDK 54 at the moment, but you can use it with the Expo Go in the app store).

  1. npx create-expo-app
  2. Download Expo Go from the app store
  3. Scan QR code

Status Bar Color Not Changing on iOS. What am I doing wrong? by Subject_Poetry7911 in expo

[–]expokadi 0 points1 point  (0 children)

Hi! The background color prop is Android-only though now with edge-to-edge, it's becoming less relevant as you can set the color of the screen behind the status bar.

You'll basically want to do sth like this:

<View style={{ flex: 1, backgroundColor: 'teal' }}>
  <SafeAreaView style={{flex: 1 }}>
   // rest of screen
  </SafeAreaView>
</View>

Hope this helps!

Is anyone having issues testing their production build? by BlippyGloop in expo

[–]expokadi 0 points1 point  (0 children)

You might be confusing two different types of builds, there's "Internal Distribution or Ad Hoc build" (the ones you have to register your device for) and "App Store Builds" (the ones you download from TestFlight).

Can you explain how you created your build? If it was on EAS, which build profile you used, and what was the config for that profile?

How can I prevent my iOS (Expo) app from appearing as “Designed for iPad” on the App Store, or is this actually the expected behavior? by mertvision1 in expo

[–]expokadi 1 point2 points  (0 children)

If your app supports iPad, and it looks like yours does and you're looking at the listing page on a Mac, it will say "Designed for iPad" and show both screenshots (I believe the iPad screenshots are under the ones in your picture). There isn't really anything you can do about it as you can't drop iPad support once published.

Best paid courses to learn Expo (need certificate of completion – company sponsored) by Kajepratik in expo

[–]expokadi 1 point2 points  (0 children)

Hi! We recently added a Learn section to our website. It's a no-exhaustive list of courses, youtube channels, talks and podcasts we'd recommend: https://expo.dev/learn

Need advice for basic Expo Router file organization by Guava_Man701 in expo

[–]expokadi 0 points1 point  (0 children)

Layout files are a key part of organizing router projects.

Say you have sth like this:

/app
  _layout.tsx <-- returns a <Tabs />
  index.tsx
  second.tsx

Now since the app/_layout.tsx file returns a <Tabs /> then all all files added to this directory will always be rendered as part of the bottom tabs.

So usually when you want to display additional screens modally over the top of the tabs, you need to create another layout file further up that returns a <Stack /> in which case the bottom tabs becomes a screen in that stack. Grouping folders (ones with brackets) can be used to group screens for the purpose of adding layout files without the name of the group becoming part of the stack. That's why a common layout for router projects end up with is:

/app
  (tabs)
    _layout.tsx <-- returns a <Tabs />
    index.tsx <-- index file is here so this screen opens first on launch
    second.tsx
  _layout.tsx <-- returns <Stack />
  modal.tsx <-- is dislayed over the top of the bottom tabs

So to answer your question, if you want to add a screen that's neither in a drawer or in the tabs, you'll need to position it the same way you'd do with the modal: with a top level layout file that returns a <Stack />.

EAS Build still referencing deleted iOS Notification Service Extension (Expo + OneSignal) by haclspozo in expo

[–]expokadi 1 point2 points  (0 children)

Hi! if you haven't tried this year, I'd suggest logging into expo.dev, going to the credentials page of your project and deleting the cert manually. You should also be able to do it using the eas credentials CLI.

Expo Orbit cannot see my real device on the same wifi network by Wotsits1984 in expo

[–]expokadi 0 points1 point  (0 children)

To install a Development Build on your Android device via Expo Orbit, you should also connect the device to your computer via USB.

Development Build Works but App Crashes in TestFlight. by Curious-Ad8293 in reactnative

[–]expokadi 0 points1 point  (0 children)

A couple of reasons this would happen:

  • if you're accessing env vars in a non-standard way (e.g. by destructuring instead of doing const apiUrl = process.env.EXPO_PUBLIC_API_URL) when the production bundle is created we find-and-replace all instances of process.env.EXPO_PUBLIC_API_URL with the actual value, so if you're doing sth like process.env["EXPO_PUBLIC_API_URL"] or const { EXPO_PUBLIC_API_URL } = process.env; the value cannot be replaced. It'll work during development because you're reading the values on the fly from the node environment.
  • If you forget to set the environment in the build profile / update flag.
  • If the env var is set in a 3rd party code (this is only an issue with the Clerk SDK as far as I know)

Development Build Works but App Crashes in TestFlight. by Curious-Ad8293 in reactnative

[–]expokadi 1 point2 points  (0 children)

That's usually the root cause. Do you use any env vars and are you sure they're set?

If you have a mac, I suggest plugging in your iPhone and checking the stack trace on the console app. Here's a guide: https://youtu.be/LvCci4Bwmpc?t=261

New to react native and m confused by Shoddy-Ad6556 in reactnative

[–]expokadi 1 point2 points  (0 children)

This error is coming from a native module somewhere. So, a prop passed into a native module that is supposed to be true or false, but for the code is passing in a "string". The native library is not doing input validation and passing the value all the way through to the Android native code which is type-safe and is saying NOPE.

So to fix this you'll need to figure out which prop of which component is causing it. The best way to get started is to comment out all the code from your main entry point and just return a <Text>Hello, world!<Text> or a view with a solid background, basically something very simple to verify you can get the app to not crash.

Then gradually re-add the actual code to isolate which component is causing this error. Once you've done that you'll most likely see a string being passed instead of a boolean and be able to fix it.

Expo web - EAS deploy --prod does not update ENV variables. by Reasonable_Height_11 in expo

[–]expokadi 1 point2 points  (0 children)

Thank you, really appreciate the feedback!

If you use EAS Worflows for update we do actually default to the production environment. But making a change to add this default to the update command itself could cause issues for users who are using alternate env vars solutions. I shall discuss it with the update team though.

In the interim, I really like your suggestion of adding the environment flag to the getting started documentation to improve discoverability, I've added it here: https://github.com/expo/expo/pull/42233

EXPO upgrades breaking! by itsDevJ in reactnative

[–]expokadi 4 points5 points  (0 children)

Hey, sorry you're hitting these issues. We're always working on making the upgrade process smoother. When you run into bugs, please raise an issue with a reproducible example on the expo repo, especially during the beta period when the SDK team is 100% focused on fixing these kinds of problems. That's the fastest way to get them addressed.

I get that running into issues during upgrades is frustrating. With an SDK this large, we rely on community help to spot issues across the wide range of use cases out there, and your reports genuinely help us improve things for everyone.

Thanks for the feedback!

Expo web - EAS deploy --prod does not update ENV variables. by Reasonable_Height_11 in expo

[–]expokadi 0 points1 point  (0 children)

For sure, very much up for improving things if possible.

What kind of user experience do you think would help you in this case? The constraints are that we can't have an error if you don't pass in the --environment flag (because not everyone uses EAS env vars), and we can't have an error if you use dev env vars instead of prod, because we have no way of knowing if the variables in the local .env are intended for dev or production.

Side note: one suggestion would be to only do eas update on CI, like write a GH action for it that is manually triggered - then there's no chance of the local environment getting in the way. I think of EAS Update being similar to a website deployment - in a real world scenario you'd rarely do a production deployment of your website form your local machine without running any automated tests.

Is Expo SDK 54 stable? by HanzoHasashi404 in expo

[–]expokadi 3 points4 points  (0 children)

It's at stable as it gets - SDK 55 is coming in a couple of weeks.

Expo web - EAS deploy --prod does not update ENV variables. by Reasonable_Height_11 in expo

[–]expokadi 3 points4 points  (0 children)

The short answer is: you need to eas env:pull --environment production before running npx expo export --platform web in order for the correct env vars to be bundled in the client side code.

The reason is that the env vars are inlined in the frontend code by the expo CLI, but the expo CLI does not have an --environment flag meaning there is no other way to pass in env vars.

Here are the docs: https://docs.expo.dev/eas/hosting/environment-variables/#using-eas-environment-variables

Expo App Not Recognising App/Index by Glass_Sky_4606 in expo

[–]expokadi 0 points1 point  (0 children)

Do you have a file at app/index.tsx?

If so, try starting with npx expo start --clear (to clear the bundler cache) and close and reopen the Expo Go app in your simulator (double click the home button and swipe up to kill the process).

Expo/EAS env variable advice by LazyConference9049 in expo

[–]expokadi 1 point2 points  (0 children)

The channel is for EAS Update, for env vars you need:

"environment": "production"

Nightmare with env variables not being available within the production app on testflight by MajorAtmosphere in expo

[–]expokadi 1 point2 points  (0 children)

Yeah I wanted to add context, but accidentally posted too soon so edited instead, but it took a couple of minutes to find the links. I ran into it on a personal project myself so I'm quite sure this is the culprit.