React Native application deployment - react-native

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

Related

How to publish expo app that can be accessed by anyone, anywhere using QR code?

after completing the development of an expo app, I want to share it with friends who can check it by QR code or link to a live server. How can I do it?
If you are using the Expo Managed workflow, you can share your application with Expo Go. In this case, you don't need to publish in any store. Just follow the instructions to share pre-release versions by Expo Go on documentation. I created an Expo project to publish and share with a link that contains the QR code to run on Expo Go.
Note: To see the Expo application install Expo Go is required.

Can't test published Expo project on Expo GO when not developping it

I'm working on a react-native app using expo.
I have no problem to display the application on my Android Phone using the QR CODE provided by Metro Builder.
But I would like my customers to be able to see my project even when i'm not working on it.
I published my application using expo publish and Metro Builder gave me a link that is similar to this : https://expo.io/#USERNAME/projects/MyProjectName. My project is in unlisted visibility, so that anyone with the link can see it.
Yet, i'm not able to open it in my Android Expo application. When I visit the link, it doesn't ask me to open it with Expo, and there's no button to do it. If I try to copy the link to my clipboard, and then click Open from clipboard in Expo Go, it will open the navigator again.
I also tried to generate a QR CODE from the link, but it does the same.
How do you open your project in Expo Go when you're not into development ?
You can just use the QR code which already generated by expo is provided in that project link eg. https://expo.io/#USERNAME/MyProjectName or with release channel https://expo.io/#USERNAME/MyProjectName?release-channel=MyReleaseChannelName
Take a screenshot of that QR code and send it. Regardless of the project visibility they will be able to install the app by scanning it with their phone.

Expo client on ios is not working to the QR code

I have tried a lot to build a mobile app using expo with react native. Although I want to run the app using npm start command it outputs the QR code. But when I scan it using my expo client app on iphone. My app is not rendering.
I recommend to create an expo account and login in your terminal
expo login
Then login in your app and your project will appear, no need to scan qr code each time and your builds will be accessible everytime.
Run following in your terminal:
expo-cli start --tunnel
Your project will appear in Expo App.
Both devices must be connected to the same Wi-Fi though.
there is a workaround for the QR way of getting things done. Below worked for me.
Run the Expo server on an EC2 (or any VM). On AWS i used T2Micro
Expose the port 19000
go to www.the-qrcode-generator.com get QR code for the url: exp://<public ip of the ec2/ VM>:19000 . Send the QR code to people.
This QR code can be scanned by iPhone Camera app which will open Expo app. On Android the Expo QR scanner can scan and download

Does Expo required a internet connection for React native build?

So I just finish the project, detached, using expoKit. Uploaded it to the testflight. And it pops out an error message said:"This experience uses an unsupported version of Expo(v22.0.0)..." So I re-publish my project in Expo XDE and the error message gone.
Now I am just confused, dose expoKit require a user to have an internet connection to use the app in order to download data from expo server?
What does expo really do?
you need to clear cache and storage in setting in emulator for expo.
in ur emulator go to settings/apps/expo/storage/clear...
it will work right now.
br
Yes, expo required internet connection, it will generate link and you need to open it in your device to see output
from it's doc
Expo apps are React Native apps which contain the Expo SDK. The SDK is a native-and-JS library which provides access to the device's system functionality (things like the camera, contacts, local storage, and other hardware). That means you don't need to use Xcode or Android Studio, or write any native code, and it also makes your pure-JS project very portable because it can run in any native environment containing the Expo SDK.
for more please see https://docs.expo.io/versions/latest/ and https://docs.expo.io/versions/latest/guides/up-and-running.html

Build standalone app from React native projects

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.