Build standalone app from React native projects - react-native

How do i create a standalone app for iOS (*.ipa) so that i can distribute it to friends / testers?
Is there a way to do this without paying 99$/annum to Apple?
I tried the solution where you have to create a directory called "Payload", archive it and then rename it to *.ipa. But, this did not work.

Expo has created a great solution to this problem. It's also great for development. They have a huge community on their slack channel. Download the expo app, and you can test on your own device, and send your app to your friends.
https://expo.io/

You could ask your friends to install the Expo App to test it
If you ask your friends to install the Expo app and you keep your Expo XDE open with your host selected as tunnel it should work. But if you switch of you xde the app will not work anymore. This is the only way.
The android apk can still be circulated to your friends without the license but for ios you will need to get the developers certificate and upload your app/get approval and only then can you ask people to test it out.

Related

How does Expo work during and after building a package?

I'm a bit skeptical after doing a build apk on expo with a user account. The case is as follows: I must make two similar applications (A and B) for 2 companies, each one with characteristics specific to each company. When I have done "expo build apk" of the first application (A) in Expo, everything has gone well and I have been able to test the apk on a real device (not emulator). Then I build application B in expo with the same user account and everything ends well too, I have obtained an APK file. The problem I get is that when I opened app A on the real device, it was the interface of app B that started. It seemed that by using the same expo account to build, I had overwritten app B over app A. The only solution I did is to create another expo account to build the second app.
So I have two questions:
Can anyone tell me if my reasoning is correct? Does Expo only support one app per account?
When you upload the application (.APK or .AAB) to Google Play. Will the application still depend on Expo? I thought that Expo only build .apk and now it is independent file.
I really appreciate your comments and responses.

Expo Push Notification

I am using Expo Push Notification. I proceeded according to the instructions on the Expo site expo-push-notifications, but I realized that in order to receive the Expo Push Token, we must have an Expo account, and before running the project, we must log in to our account using the Expo Login command and then run the project.My question is, when the build project is taken out and put into production mode, do these services still work properly or do we have to apply certain settings and the Expo site tips are only for the development phase? I am a beginner in developing React Native programs and I have no special experience in this field. Please share your experiences with Expo Push Notification with me. Thanks.
When you build your app on Expo servers for example by expo build:ios command, it is handled by Expo services, but if you decided to build your app through, for example, Github Actions, you have to deliver APN keys to Expo by your own through expo credentials:manager. On your Expo account are stored credential files to use by Expo PUSH Broadcaster, so this connection between the app and your account is required.
Here you can find more details about signing your applications:
https://docs.expo.io/distribution/app-signing/#push-notification-keys

How to generate an ipa with expo (react native) for production?

i work for a key account and i'm a beginner in react native. I work on a PC and i use expo when i want to build an ipa for iOS . It's very easy for a development version but i'm stucked when i build for production.
I have the following error :
validateProvisioningProfile: provisioning profile is not associated with uploaded distribution certificate
The message seems very clear but it's not.
Actually, i've a dev account and i have to use a distribution profile from my organisation. My dev account is part of my organisation and i thought it was enough to pass the test but it's not. Help would be very appreciated. Thanks in advance.
You need to get Mac (not PC), open apple developer account and run in the project folder:
expo build:ios
you will get a url with an option to download ipa file

Publishing expo app to App store/Google Play store

I'm currently developing an app with Expo. I've used Expo's Facebook API for users to sign in and realized that if I want to detach I'd have to use the React Native Facebook SDK. I've heard from many people that you can't publish an expo app to the app store, however, the expo website seems to say otherwise. Should I keep developing in Expo or detach and replace any of the expo imports I have?
You can easily generate a .apk or .ipa file with Expo and then upload it to the corresponding store (I have done this multiple times).
From Expo's docs:
The purpose of this guide is to help you create standalone binaries of your Expo app for iOS and Android which can be submitted to the Apple App Store and Google Play Store.
You can find detailed instructions on how to generate the binary files you need in this link.
What your friends might mean with "You can't publish an Expo app to the app store" is the publish command associated with Expo OTA updates. They even have a section explaining how to publish OTA updates to your standalone app.
A handy mindset when dealing with Expo is to think that "publishing" means using Expo's CLI tools to generate an OTA update, while "building" refers to the act of generating a new binary standalone file.
If you still need help with deploying your app to the app store check Expo's distribution guide.

React Native application deployment

I have already developed a React native application on my mac book, this is myfirst application. I want to deploy it to iPhone so that I can test it. I don't want to put it on appstore yet. I am not sure how to compile the application and get it ready to put it on iPhone. I tried this web site
https://www.diawi.com/, but not sure which .ipa or a.pk file, I need to upload. I can also try using expo, but not sure how to use it. Can anyone give me step by step instruction on how to upload this application on iPhone.
any help will be greatly appreciated.
For iPhone
For react-native-init you will probably need Apple developer account to test your app on your phone
Since you are using react-native-init, You should checkout this article by Facebook
https://facebook.github.io/react-native/docs/running-on-device
In the second point, it says Register for an Apple developer account if you don't have one yet
For create-react-native-app you need to do following
Download expo client from App store
Scan the QR code expo generate when you run your app using terminal (npm run start in terminal )
Note: Both Laptop and your phone should be on the same network
According to this thread, You can't use expo with react-native-init but alternatively you can create an expo project using create-react-native-app and then copy, paste files from your init project
For Android
For running your App on Android, You can directly generate/build an apk, send it to your device and just open it to see how it works (In Android you don't need a console or developer account to run your app)
Again, Open this link https://facebook.github.io/react-native/docs/running-on-device
And click on Android Tab to see how you can generate an Apk