Is it possible to upload an Android app (with split APKs) and an iOS app with same package IDs to Fabric Beta? - google-fabric

I'm developing a React Native application. We are using Fabric for beta testing. Is it possible to upload
Android app with split APKs ("armeabi-v7a" and "x86")
iOS app
with the same package ID?

Thanks! Yes this is possible, however you will need to create blank apps in AS and Xcode to get the initial skeleton setup in Fabric. Then you will be able to distribute your React Native app for both platforms.

Related

Can I use the same codebase for both a React Native macOS app and a React Native Windows app?

I am trying to create an app using React Native that runs on iOS, Android, macOS and Windows. An advantage of being able to use React Native is that you can share code between platforms.
I am following the setup guides for React Native macOS and Windows, but in the guides, they guide you through creating a new app from scratch for each platform. As I want to use the same app, so I don't have to write the same code twice, I create the macOS app following the guide. Then, in this app, I use the command npx react-native-windows-init --overwrite from the Windows guide to initialise the Windows platform. But when I then go to run the macOS app using the command npx react-native run-macos, I get the error:
Cannot find module 'metro-config/src/defaults/exclusionList'
and
no bundle URL present
One thing I find strange about the setup guides is that for macOS it tells you to use React Native 0.63 and for Windows 0.66. I used 0.66 for both, maybe this is the problem. But if it is, and each platform requires different versions of React Native, how can I use the one app / codebase for both platforms? This goes against one of React Native's core premises:
Create platform-specific versions of components so a single codebase can share code across platforms.
Is it possible to create a single app for both desktop platforms like you would with iOS and Android, and if so, how?
Yes, you can. You will have to create a mono repo
Or you can use mono repo boilerplate. Here is a link to it
https://github.com/mmazzarolo/react-native-universal-monorepo

Is Viro -React app be independent appication?

I have a question: I'm going to develop an AR app with viro for react native.
Will I be able to publish the project without the Viro Media app that they're suggesting for development?
Of course, you can create an independent Viro app and build it either from Android Studio or by exploiting the React Native CLI, as it is described here.
Remember to use an ARCore supported device to access native modules and the AR functionalities.

Is it possible to build a android and iOS app using React Native in Windows Laptop?

Is it possible guys? As I know I can use the React Native eusing Windows Laptop but I can't build or produce a mobile ios app using Windows laptop?
Also what are the conflicts when developing android app and iOS app using Reactive Native
You can develop your iOS and Android app completely on windows, but it is correct, that you need a Mac to build and deploy it for iOS app. You could use a service like https://www.macstadium.com/ for this step. They offer access to macs on a monthly basis.
I'm working with RN since 2015 and I only found a few "conflicts":
1.) You have to double check styling between iOS and Android, since a few properties behave little different (like overview). But the RN team is constantly working on this and it gets better and better.
2.) If you need access to native device functions like InApp purchase API, you have to find Libraries, which work on iOS and Android.
All in all RN is a very good framework for writing cross platform apps. You should give it a try :-)

How to publish a react native app to test flight from in windows 10

I need to publish my react native application to test flight from windows environment
You can't do it on Windows 10.
You need XCode to archive the app and send it to ITunes, where you can use tesflight
Actually, you can't even run the iOS app on Device without XCode.
https://facebook.github.io/react-native/docs/running-on-device#docsNav

React Native using Expo SDK is really native ?! or like cordova

I am new to React Native and I know that there are two ways to develop native applications using react native
1- react native init --> need to compile the native cod
==> Result is Native Application for Android "Android SDK required" and Native Application for IOS "Xcode required"
2- create react native app --> no need to compile the native code !!
as CRNA uses Expo_SDK to access native API, but :
Is the result app is really native! or Expo Sdk is like Cordova but used by React and if result native, Expo claims that the result is native!, have they cloned both Android Sdk and Xcode for IOS or how does it work ?!
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.
Expo also provides UI components to handle a variety of use-cases that almost all apps will cover but are not baked into React Native core, e.g. icons, blur views, and more.
Finally, the Expo SDK provides access to services which typically are a pain to manage but are required by almost every app. Most popular among these: Expo can manage your Assets for you, it can take care of Push Notifications for you, and it can build native binaries which are ready to deploy to the app store.
You should take a look at the Expo doc
Expo app is as native as React native. They do the following things so you don't need to setup Android / iOS SDK locally.
provide Expo App on Android/iOS
so you can build the js code and use Expo App to debug during the development.
provide build server
once you run expo build command, expo will upload the compiled js code and build Android/iOS file on their server. You can download the built file from their server.
You can eject from the Expo, setup Android / iOS SDK locally, and build the app as normal React Native app
Expo (and react-native) apps use native (android and ios) ui components to render the apps ui, like any native android or ios app would. Therefore they can be considered as native apps.
However your app logic is executed within a javascript thread an will communicate with the native threads (through the react-native bridge) to modify the native ui components. Since the bridge is completely asynchronous this should not affect the native ui performance of your application. If you want to understand the communication between js and native code it may be a good start to read this guide.
2- create react native app --> no need to compile the native code !!
With expo there is no need to compile native code, as expo already includes a "ready to use build" of react-native along with several other common react-native libraries. In an expo app this will be used together with your javascript bundle which than communicates through the react-native bridge with the already present native part.
They are basically just abusing the fact that you can inject different javascript bundles into a prebuilt react-native app. (as long as you are using only accessing a subset of the native functionality of that prebuilt app)
Note that Appcenters codepush uses the same functionality and their setup integration actually delivers a nice example how different javascript bundles can be loaded without touching the native part:
in ios AppDelegate.m this line is changed:
original react-native js-bundle loading which always resolves a static bundle
return [[NSBundle mainBundle] URLForResource:#"main" withExtension:#"jsbundle"];
js-bundle loading with codepush which can resolve to different js-bunldes
return [CodePush bundleURL];
Link to full codepush ios integration guide