expo dev client application doesn't open - expo

I'm trying to use expo-dev-client to add react-native-sms-retriever library to my project because expo doesn't have a library that supports reading sms messages. In expo documentation, it's suggested that I should use expo-dev-client to add custom native code. You can see the documentation here: https://docs.expo.dev/workflow/customizing/#developing-apps-with-custom-native-code
I followed all of the steps in starting guide for expo-dev-client. https://docs.expo.dev/clients/getting-started/
But when I start my app using "expo start --dev-client" and run on android, a white screen is shown for a second and then I'm redirected to expo go application page.
in console, the following 2 lines are written:
› Opening on Android...
› Opening com.droppgroup.masterclean://expo-development-client/?url=http%3A%2F%2F127.0.0.1%3A8081 on LDN_L21
I tried this on real device and 2 other emulators but I got the same result. I reinstalled expo go application and it still doesn't work.
Any suggestions on what I can do to make this work?

The issue may be a problem with Expo config plugins, which configure native code for an Expo project, by configuring Info.plist for example. I am currently experiencing a similar issue, though after scanning the QR code, I am directed to a black screen in my Expo Dev Client which crashes and takes me back to the home page. The Dev Client worked perfected until I ran expo add react-native-bluetooth-classic, since I am trying to access iOS bluetooth APIs. I am currently working on this issue, but I just wanted to point you in the direction of config plugins since the examples Expo gives for customizing your runtime have config plugins registred in the "plugins" property of app.json.
It may be necessary to create your own plugin, though I am unsure.
Please let me know if you come up with any fixes, and so will I.

Related

Debugging a watchOS install from phone

I have an iOS app that I added a WatchOS to. I paired simulators, works fine. I build it for my iPhone, it runs fine. When I try to install the watch app to the watch from my phone, I get a generic error. The watch has plenty of storage. How can I see a log of why it refuses to install? image of the error
The error dialog on the watch says “This app cannot be installed because its integrity could not be verified“
Update: Could it be because another developer originally made the iOS project so it has a package name for his account? com.<hisName>... and since I am signing with my account, I would need to change the package name to com.<myName>.AppName & com.<myName>.AppName.watchkitapp?
Solved. The bundle IDs matched but they needed to be for my account since I was signing it. I added my watch to my account too (UIDD). I was able to also build straight to my watch if I desired while my phone was tethered to my laptop. When I installed a new iOS app, the watch app was automatically installed for me too.

Expo publish - using a cached project alert

I wanted to make my app accessible without local connection via expo publish. After running the command i successfully get a link to the project page. But if i try to open the app via the project page in Expo Go, it displays this alert:
The project is loaded on my device(i suppose it is because it is cached in my device), but it is not opening for anyone else. How to load it with network instead of cache? My network is connected even though the alert tells to check it.
It was my mistake, had to go through the expo documentations to find a guide that simply states:
Invite your teammate to the Expo account that owns the project.
I thought since the project privacy is set to public, this was not mandatory. It is.
I had this problem today - for me the issue was being on a public WiFi network (at a co-working space) that I think must have some kind of network filtering that presumably blocked fetching new Expo packages.
Switching WiFi off on my phone and using cellular resolved the issue.

WebRTC native c++ app as win10 service cannot access video source

I have an webRTC (native c++ -> node.js) app which allows screensharing. I've tried to make a windows service from it for easy permissions elevation as well as simple auto-start. I've managed to rewrite it as service but to simplify my example I'll skip that. Let's just say I've used nssm service wrapper to run my app as service.
Whether I run service as local system or my own user, when it gets to the point where I request system for video sources, webRTC return nullptr.
SourceList* sources;
captureScreen = webrtc::DesktopCapturer::CreateScreenCapturer(options);
captureScreen->GetSourceList(&sources); //Return nullptr!
Exception thrown: read access violation.
sources._Mypair._Myval2._Myfirst was nullptr. occurred
When capturing camera instead of screen everything works fine according to this guy and only relevant thread in whole internet I found.
Is there a bug in webRTC/win10? Is there some kind of workaround I can use in order for this to work?
If you are making web based WebRTC app then i think everthing should work fine.
I don't thing there is bug in either WebRTC and Windows while screen sharing.
Make sure you are using Google Chrome for development. (Just an advice)
Your webapp app has permission for capturing windows.
If your are using Google Chrome then make sure you are running the chrome with command line flag "--enable-usermedia-screen-capturing" e.g. on Windows "Chrome.exe --enable-usermedia-screen-capturing"
Screensharing web app using WebRTC - https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/
Checkout WebRTC projects on GitHub - https://github.com/muaz-khan/WebRTC-Experiment
:)

How to Debug Ionic WebApp?

I want to debug my ionic application in WebStorm.
I am able to run the app in browser. But how can I debug?
I tried: ionic serve --debug which doesn't seem to trigger any debugging?
How can I debug the app when it runs in browser?
With Chrome you can type chrome://inspect into your address bar
As soon as you are running your Android app, you can inspect the app when you are running it with the "ionic run android" or "ionic emulate android" command
The version of Android, however, must be higher than 4.3 I think...
According to the documentation there's a few different way's to do this. Also could you try one of these listed below since you have tried ionic serve already?
ionic run
ionic emulate
The run or emulate command will deploy the app to the specified platform devices/emulators. You can also run live reload on the specified platform device by adding the --livereload option. The live reload functionality is similar to ionic serve, but instead of developing and debugging an app using a standard browser, the compiled hybrid app itself is watching for any changes to its files and reloading the app when needed. This reduces the requirement to constantly rebuild the app for small changes.
Hope this get's you going! Let me know how it work's out for you.
I found this tool very useful, you can attach your device and get a real time inspector on your Cordova app(for iOS and Android platforms).
The browser is where I do most of my debugging for ionic. What browser are you using to do the debugging? I use Chrome and turn on DevTools. There is a source tab where you can browse your app code to find spots for breakpoints. For example, you can set a breakpoint in the code for a controller on a click event and step through the code. Then, you can use the console to execute commands to test values and inspect objects, etc. Are you unable to make this work? Or, unfamiliar w/ the DevTools? If unfamiliar, there is a resource available here. If not working, are the breakpoints not being hit?
There are a few ways to debug your ionic app.
In the browser you can catch the errors in the console.
If you are emulating your app on a simulator or a mobile device you can install the cardova plugin that displays js errors in the xcode console. So you can emulate your device and catch errors on xcode.
Here is how you add the plugin:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
An alternative is using ionicLab. It worked for me doing the steps: Install the program and prepare all the project dependencies prior to testing. Then, click on Serve option from Testing which is under Platform menu. When the project has been executed, click on the arrow icon of the Preview bar.
As a result, Ionic will throw a Chrome window with the loaded project, so, you can use Developer Tools as it's used commonly. You ought to watch the javascript files, which you use in your project, so that you can debug them.
Simply run: ionic serve -l and inspect from browser developer options.

Chartboost sample app not showing Ads

I am trying to integrate a tool Chartboost into our game.
We are using following tools for development.
Xcode 5.0.2.
Latest ChartBoost Library.
Deployment target being iOS 6.1.
Base SDK being iOS 7.0.
Game Engine Cocos2d-x ( C++ ).
In order to use ChartBoost I followed these steps.
Created an account at Chartboost.
Added an app
Platform: iOS
Nick Name: Added
-Test Mode: Enabled
and Its showing the App Id and App signature.
Added a Campaign.
-Its On.
-CampaignStart and End are blank, so it will be effective as soon as possible.
-Filter By Bundle verion is Min 1.0 and Max blank .(already tried by keeping both blank.)
-Selected the App I added ,as the app where this campaign will run.
-Campaign Logic: Added test device with UUID.
-Rest of the options are untouched.
For test purpose I downloaded and used the sample iOS project provided at ChartBoost site. I replaced the App Id and App signature with my App's ID and Signature.On running the app, it does not display any ads. It logs messages like :
-failure to load interstitial at location Default
-failure to load interstitial at location Pause screen
-failure to load more apps
-failure to load interstitial at location After level 1
I am not able to conclude what wrong I have done! Please help on this issue.
PS:
1. I have already received a mail from ChartBoost mentioning I have successfully integrated the SDK, and in front of added app , the SDK and Frame icons are lit(green), which essentially shows , I have integrated the SDK correctly.
2.Our game is still under development and as we are using the Cocos2d-x which is c++ Game engine ,so we will be using some wrapper to call the ChartBoost library. Once we get the idea how it works on native platform.
In Chartboost sometimes it happens that you have set in the Chartboost dashboard that your game is in "Landscape" mode for example.
While your game is actually running in portrait mode.
In such cases you will get these errors.
Make both these same. Either change in the Chartboost dashboard for your app or change in the game's project file :)