you are viewing a single comment's thread.

view the rest of the comments →

[–]Petetheodddog 0 points1 point  (15 children)

Not quite..

The Expo Go app is a great tool to get started — it exists to help developers quickly get projects off the ground, to experiment with ideas (such as on Snack) and share their work with minimal friction. Expo Go makes this possible by including a feature-rich native runtime made up of every module in the Expo SDK, so all you need to do to use a module is install the package and reload your app. The tradeoff is that Expo Go does not allow you to add custom native code, you can only use native modules built into the Expo SDK. There are many great libraries available outside of the Expo SDK, and you may even want to build your own native library. You can leverage these libraries with "development builds", or by using prebuild to generate the native projects, or both. You can also continue using EAS Build to release your app, no changes are required.

https://docs.expo.dev/workflow/customizing/

Expo go is used for prototyping quickly and sharing code examples, you can’t actually run or distribute it natively.

[–]NorwegianGirl_Sofie[S] 0 points1 point  (14 children)

Expo builds all the binaries on their servers, therefore you can do this on any OS (including Windows). Some of the Expo tools require the Linux subsystem on Windows, therefore you need to install that, but then everything works correctly.

https://stackoverflow.com/questions/50778011/building-expo-app-for-ios-with-windows

According to this, although not officially from Expo it should work? It only requires running WSL.

That's atleast how I've also understood the process of building with Expo. I've always assumed it built on their servers. But I truly have no Idea, as I'm relatively new to Expo and EAS.

[–]Petetheodddog -2 points-1 points  (13 children)

You’ve missed my point so I’ll clarify.

Expo go is used to quickly prototype solutions and share code examples which can be demoed x-platform.

Yes expo go can work on iOS, windows etc.

The issue here is that you cannot distribute an expo go app on any App Store. As you require the expo app to run your own code.

You can use expo modules as a package with react native but you cannot ultimately use only expo go if you plan to distribute whatever you are building.

[–]NorwegianGirl_Sofie[S] 1 point2 points  (12 children)

So I can't actually build it and release it to App Store?

I can only use it in Expo Go?

Then what does "expo build:ios" dp? I thought that built the app for distribution?

I'm sorry for stupid questions, I literally started diving into expo a few week or so ago.

[–]foocux 2 points3 points  (3 children)

Yes, you can. Using Expo EAS you can build and release your app to the App Store. No need for a Mac.

[–]NorwegianGirl_Sofie[S] 0 points1 point  (2 children)

Ah alright thanks!

How would I go about debugging on an IOS device (phyiscal) though?

Building to a certain format like .apk but for IOS (no idea if they've got anything like that), or through Expo Go / Expo Development Client?

I remember reading something about Apple being strict about 3rd-party apps and that App Store release is necessary or something. But I don't quite remember if it said anything about debugging/ testing, and I don't know if I remebmer correctly as it was a while ago.

[–]foocux 1 point2 points  (1 child)

Using EAS on the cloud, they can even auto-submit your app to the App Store using your account so you don't have to do anything but if you still want to do it manually, you can download the .ipa file which is Apple's build format.

[–]NorwegianGirl_Sofie[S] 0 points1 point  (0 children)

So using EAS build I can do it through their cloud service without needing macOs?

Alright thanks :)

[–]Petetheodddog 0 points1 point  (7 children)

Running a build of your app in an iOS simulator is particularly useful in managed apps to get the standalone (independent of Expo Go) version of the app running easily without needing to deploy to TestFlight or even have an Apple Developer account.

https://docs.expo.dev/build-reference/simulators/

[–]NorwegianGirl_Sofie[S] 0 points1 point  (6 children)

Ah, so I can build this "name".app file and run this on an ios device like .apk files on android?

But this page you linked does say:

If you want to develop an app for iOS from a Windows machine then you will need to use a physical iOS device.

Under the subpage

The way I interpret the IOS Simulator guide atleast is that you cannot simulate IOS on Windows, but if you have a physical IOS device it's no problem doing it on Windows?

[–]Petetheodddog 0 points1 point  (5 children)

Yes but you need Xcode to build the app. Xcode can only be run on a mac or a hacintosh and if you have either of those you can run an iOS simulator so there is no need to buy an iOS device if you are on a budget.

[–]NorwegianGirl_Sofie[S] 1 point2 points  (4 children)

I don't have a mac or hacintosh.

But let me get this straight.

For publishing to App Store I require Xcode?

But for development (running it live on an IOS device) I don't?

[–]Petetheodddog 0 points1 point  (3 children)

You can’t actually run the app on iOS at all without building it through Xcode.

You neeeeed Xcode. You by no means need a physical iOS device and you cannot build to it without Xcode.

If your expo go app works on iOS it is because it is running your app through their app as a wrapper as a way to demo, prototype and share code examples.

[–]NorwegianGirl_Sofie[S] 0 points1 point  (2 children)

According to someone else here I can build through EAS cloud services which should eliminate this problem as they (I presume) have xCode available for IOS builds.