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).
Related
Microsoft Endpoint Manager / Intune allows blocking screenshots in general on iOS devices by using iOS's MDM features. This seems to deactivate screenshots completely, for all apps.
What we want to achieve though is blocking screenshots only for our specific app (as part of a BYOD policy) and through iOS's MDM features, not through an API invoked by the app itself and also not by using video-based image manipulation which tends to require third-party paid SDKs (preventing photos taken with other devices is not a priority at the moment).
I found a number of questions e.g. 1 and 2 that all target deactivating screenshots from the app in Swift. They basically say that it is not really possible for non-managed devices or requires some obscure tricks. However I want to achieve this using the iOS MDM configuration options, not from the app itself.
Is there anything I have overlooked regarding app-specific MDM policies around screenshots?
How I can restrict an iOS App so that it can install only on specific device type. for example, I do not want my app to install iPhone5, iPhone5S, and iPhone6. I do not want to control it with deployment target settings (iOS version).
And this has to be distributed using Apple Developer Enterprise Program.
You can't prevent the installation of the app on specific devices.
But you can create a splash screen as your first view of the app in which you check the device and prevent the start of the app informing the user.
Well, there is no direct option available to achieve what you requested, because you can select the device type, like iPhone, iPad or Universal while setting up the target,
You can do this in alternate way, on applicationDidFinishLaunching You can simply put a check, if the device is other than the one you wants to provide the support then allow the proceed to the application functionalities, otherwise show a screen with some message showing that, we are not currently providing support on these devices (iPhone5, iPhone5S, and iPhone6)
And as you are going to distribute the application via enterprise account, so you will not need it to get confirmation from the Apple reviewers.
Hope it helps!
We have alot of iPads on different locations, running an enterprise app in Guided Access. Is it possible to auto update the app, our remote access the iPad to update?
You can do both.
There are remote management platforms that allow you to manage your iOS devices; change passwords, lock a device if it gets stolen, etc. They need to be connected to the internet for this to work though, either through 3G/4G or wifi.
You can also set an iOS device to auto-download updates when they become available.
My app has been rejected by Apple for the following reason "Our team is aware that iHasApp is using publicly available APIs, however this specific implementation abuses canOpenURL: to detect all apps on a given device".So I start to look for another way to list all the installed app in the user's phone.So my questions are:
1/Are they some web apps which can detect the installed apps?
2/is it possible to detect apps using their icones?
If you implement a workaround, the chances are that Apple will still reject your app anyway.
Obtaining a list of applications installed on the phone is evidently disallowed. Apple has rejected apps using lots of methods to detect this:
Your solution of "canOpenURL"
This solution using private apis List of all apps installed on iOS device and their position on the Home Screen (Springboard)
This (dated) answer using file path manipulation and private apis: get list of installed applications on iphone objective-c
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..