Is it possible to prevent other apps from running? - ios

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

Related

Electron app unable to access microphone on some Windows systems

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?

Supervised devices and App restrictions in iOS

My question regards a possible remote Parental Control system for iOS devices.
I understand how to apply web filtering options that would allow parents to whitelist and/or blacklist specific URLs and domains remotely on their children's devices via managed profiles and MDM server but is it possible to whitelist/blacklist certain apps from the iTunes store - i.e if the parents want to remotely block the installation of say Snapchat and Viber for example? It appears that filtering right now is only possible based on the iTunes "appropriate age" tag - i.e 4+
Thanks!
You can always blacklist apps using an Mobile Device Management software. When an app which is blacklisted is installed on the user's device, the device will show as not compliant. You can also find which all blacklisted apps are installed on the device. Then the admin can prompt the user to uninstall the app. If they are not complying the admin can lock the device until they agree to comply.By using an MDM you can enforce additional restrictions like block camera etc. For a more strict management you can put the Apple device on supervisory mode, which have more options for device restriction. iOS 9.3 goes a bit further in this area by preventing the blacklisted apps from being shown or installed.
No, that level of control is unavailable in iOS. The closest you can get today is to either set the appropriate app age or to use the app installation restriction to block the entire App Store (keeping in mind that on iOS 8, this restriction will also prevent app installation by MDM as well).

Access apps inside an app

I'm new to iOS development, suppose I'm making an app for parental control over their kids which would have the apps that would be added by the parent so that the child is restricted to only certain apps. How will i access the apps on the device inside this app?
Sorry, but that won't be possible on an standard (un-jailbroken) iOS device. Apple sandboxes Apps so they can't access anything outside of their "sandbox". That includes the file system, the OS, settings and other apps on the device.
It might be possible to do it on a jailbroken iOS device, but even then you'll have to hack into Apple's OS and honestly it's probably not worth the effort, especially given that you could never submit such an app to the app store..

What is Sandbox in iOS? Can I transfer data between one app to another app?

Is there anything like sandboxing an iPhone Application, what are the benefits on using sandboxes and do they allow me sharing data between one app and another?
I found this link while searching but not able to understand as I'm new to iOS development.
http://www.iphonedevsdk.com/forum/iphone-sdk-development/56207-what-is-sandbox-in-iphone.html
From The iOS Environment
For security reasons, iOS places each app (including its preferences
and data) in a sandbox at install time. 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.
one solution to transmit data from one to another app is via URL Schemes
Mobile device application developers use the sandboxing capability of iOS to ensure the security of the user data and to ensure that the application don't share data with other applications installed on the same device.
The sandbox forms and maintains a private environment of data and information for each app.
The sandbox can minimize the damage that can be done from a potential hacker but it can't prevent the attack from happening.
Although Apple has built robust sandboxing features into iOS , it is upto the developer's to ensure that their apps are written securely.
When an app is installed on a mobile device, the system creates a unique directory for it.
Sandboxing only prevents the hijacked app from affecting the other apps and also other parts of the system.
iPhone apps are all sandboxed, meaning there is no sharing of files between applications.
There are some ways of transferring data between applications but they're very limited. Look at URL schemes.
http://wiki.akosma.com/IPhone_URL_Schemes
The apps are in sandbox by default. You do not need to worry about putting it in a sandbox manually.

Web Application iOS, Blackberry

I need my application to work with BlackBerry Smartphone and iOS (iPad).
Current I use BlackBerry web works to build and sign my application so it can be used standalone without an internet connection.
I want to do the same for iOS: Sign the application and deploy.
Many people are saying just navigate to the website where your app is and add to bookmark then home screen as described in the Dashcode User Guide "Testing and Sharing" and Safari Developer Library article "Safari Client-Side Storage and Offline Applications Programming Guide"
But I don't want to host the application on a web server, I just want to build and deploy as this is not public.
I guess what you are asking is, You want to develop an app using web technologies which requires no server for hosting DB.
Also, you don't want the user to user/distribute via bookmark/AddToHomescreen(webclip); you would like to sign the app and distribute via Appstore.
In such case you should look at http://phonegap.com/about which allows you to sign and distribute via app store.
Update:
If you want to install it on your device(it is called Adhoc install) you need to have a ios developer account from apple. And you can install using XCode, ios developer program limits no. of devices you can install (100 dev. max).
If you are eligible for Enterprise program, then you can install it on more devices.
In iphone and ipad copy all html resource on resource folder and you can all index.html page through webview. Now all html page is now local no need to server side because of it's local path not server path. Now you can build and distribute application on app world.
Let me know any doubt.

Resources