Electron app unable to access microphone on some Windows systems - electron

Electron version: 19.0.3
I have an Electron app which uses microphone input via the web audio APIs. The app works perfectly fine on most machines but on some Windows machines I get the following error in the render process console when trying to read from the microphone:
DOMException: Could not start audio source
This occurs on computers that (as far as I can tell) have the correct 'Microphone privacy settings' (which can seen in Settings -> Sound -> Microphone privacy settings).
This means that the setting Allow apps to access your microphone is enabled as is the setting that allows non-Microsoft store apps to access the microphone.
Interestingly on the machines where this happens, the app is not added to the list of desktop applications that have accessed the microphone and, unlike macOS, there appears to be no way of adding applications to the list.
The issue has occurred on systems where the user has permissions to install new applications but does not have permission to disable the microphone - this setting is limited to administrators. Although that is not exclusively the case - I have also seen the issue on systems where the user has full permissions.
Is there some Electron app configuration that I should be bundling with the app to solve the issue? Something similar to entitlements.plist for macOS apps? Or is this a Windows related issue?

Related

How to make mobile applications install and run in CHINA?Any option for the app to work without using VPN?

Recently, I gave an iOS build to my client to test an app. I did it by using Unity and ARKit. From the client's feedback, he downloaded the application but the app is not initializing. In order to let the app to initialize, it requires Internet connection. I used a Plugin in my app when I contacted them, they told me that they are using Google's Firebase in their backend. Is this the reason that the app has been blocked or any other issues? Any suggestion?.
Btw, my client cannot use VPN. Is there a way to run something in code to change to VPN?

Is it possible to prevent other apps from running?

New to IOS programming and was wondering if it is possible to develop an app which will stop other applications from running
for example : When my app is activated user will not be able to run twitter and facebook until my app is deactivated ?
Thanks
No you can't have access to interact with the other apps because of sandbox environment.
App Sandboxing
A sandbox is a set of fine-grained controls that limit the app's access to files, preferences, network resources, hardware, and so on. As part of the sandboxing process, the system installs each app in its own sandbox directory, which acts as the home for the app and its data.
https://developer.apple.com/app-sandboxing/
https://stackoverflow.com/a/35709745/8023444

Separate iOS apps rely on each other's mobile data permission

I have two iOS apps: App One (com.example.appone) and App Two (com.example.apptwo). Both apps use Reachability to detect if the app can access the Internet.
Both apps work fine on WiFi but I am experiencing some very weird behaviour when using them on mobile data. If mobile data is enabled in Settings for one of the apps but not the other, neither of them is able to use it.
Here's a summary of the mobile data permissions and the ability of the apps to use mobile data.
AppOne not allowed, AppTwo not allowed, AppOne and AppTwo unable to use mobile data
AppOne allowed, AppTwo not allowed, AppOne and AppTwo unable to use mobile data
AppOne not allowed, AppTwo allowed, AppOne and AppTwo unable to use mobile data
AppOne allowed, AppTwo allowed, AppOne and AppTwo apps able to use mobile data
As far as I understand, permissions for other apps should not affect other apps' ability to use mobile data. Is this a bug in iOS or have I got something wrong here?
Note: This issue does not occur when I deploy to my phone from Xcode, only when the apps are installed from the App Store.
After talking to Apple Technical Support, I learned that the issue was caused by both apps having the same executable UUID. Apparently the cellular data authorization system uses the executable UUID.
The solution here is to make sure there is something (source file, build setting, etc.) that is different between different apps.

Bluetooth Transmitting Legacy Name

I am working on an mbed powered Bluetooth Low Energy project. I have been developing various GATT services, however, I have now found my project has got "stuck" on a previous service. What ever program I download onto the device, a Service is broadcast with the name "HRM_SEC". I have repeatedly changed the name from this.
I have installed known working examples of default Heart Rate Monitor Example. I have installed blank programs without bluetooth service definition etc.
However, the name of this prior service is persisting.
I have reinstalled my ios app - LightBlue - incase it was a casheing thing. By reinstalled I mean deleted and then downloaded from app store.
I can't connect to these services. New programs are being installed, as I am getting the expected serial feedback.
Why is this happening and What can I do?
I have just tried using the LightBlue app on a different iPhone and I am getting the expected behaviour. How can I purge the stored data from the LightBlue app. I have tried deleting it, then doing a reset (holing lock and home button), then when it has rebooted I re-downloaded the app from the app store. What else can I do to clear which ever info is being stored by LightBlue?
This seems to be an underlying iOS issue, as my other apps are also now using this legacy name. I have tried disabling and then enabling Bluetooth, but this hasn't worked. Any other ideas?
I have submitted an iOS bug report. This is really annoying, as I cannot use my iPhone to test an app I am working on. Any ideas for workarounds?

VNC Open Source For iOS

Is there any open source code available for VNC client for the iOS platform?
This Open Source package called wdaproxy provides an web application that is able to be used to remote control any iOS device with the WebDriverAgent (by Facebook) installed.
https://github.com/openatx/wdaproxy
Found this casually on the testerhome forum that has a ton of Chinese users, it provides a partial remote controlling of the phone through the browser session and is the nearest non-jailbreak option found so far.

Resources