"expo prebuild" doesn't generate ios folder

When running “expo prebuild” only an android folder but no ios folder is created.

Building a new dev-client works for both ios and android but the resulting qr-code after running expo start is only working on android (I suspect because of the missing ios folder)

Does anyone have the same issue?

Hey @hiob, I tried the expo prebuild command, which is working fine when I try to reproduce your issue.

Can you please try deleting the android folder and running the command again?

Hey Aman, thanks for the quick reply. Deleting the android folder and running the command again didn’t change the outcome. Still no iOS folder.

When I run specifically “expo prebuild --platform ios”
I get the following output:

Ejecting is unsupported locally on windows, use eas build instead
:warning: Skipping generating the iOS native project files. Run expo eject again from macOS or Linux to generate the iOS project.

But prebuild is not supposed to be the same as ejecting, so why is it trying to eject?

Ejecting and prebuild are co-related because they take your project and generate the matching native project. You can view that these commands are categorized together in Expo CLI docs. I’d suggest to go through customizing workflow documentation and use expo run:ios or expo run:android commands instead of prebuild.

So prebuilding for iOS requires Xcode and thats why the prebuild ios command doesnt work for me on windows?

Because expo run:ios definitely requires Xcode.

Yes.

I’d suggest checking out EAS Build to generate binaries without requiring Xcode.

Thanks for the answer.

I’m actually using the eas build workflow since it came out (being a subscriber even since the start) and have an app in production.
Needed the prebuild now in order to get the react-native-firebase package working with the managed workflow as described in the official docu (the firebase javascript sdk is not sufficient anymore).

So since I don’t have a mac, I guess that won’t be possible for now.

1 Like

one final question then: If my project gets prebuilt using a mac with Xcode, would I afterwards still be able to start,develop and build it on a windows machine? (i.e. I ONLY need the mac for the prebuild process?)

Yeah, but not for iOS. For example, if you end up installing a new library that uses some iOS config and would require you to install pods for it, you won’t be able to do that on a Windows machine. But you can continue to develop the project.

1 Like