Let iPad only use one app and disable settings - ipad

At the office where I work we are trying to deploy iPads. We now have 16 iPads all around the company and we use Sophos Mobile Control to monitor and manage those iPads.
However, we found out this is not enough. Everytime I come across an iPad given to an employee, he changed things to the device or the software. Although we do have policies for that, the iPads are NOT covered by a BYOD-policy that would allow such things within the company.
After a lot of desperate tries to disable all sorts of things in the iPad (from trying to disable the Settings App to using a "sort-of" kiosk mode using one app) all solutions I came to didn't fit the whole need for clean devices.
When trying to disable settings, you just can't disable everything, and things like backgrounds etc. are still changeable by the employee. We don't want this since this iPad is kind of like a trademark for our company - we try to maintain a steady pace in developing and implementing new devices and ways to get the job done - and clients must in no way be confronted by the unprofessional backgrounds set on the iPads by those employees.
Whenever things are possible, people will try to (ab)use it. I want to have the control over what apps, settings and web pages can be viewed/used by the iPad users. Is there any way for us to change the way iPads secure themselves?

I think you are after the "apple enterprise configurator"
http://www.apple.com/support/ipad/enterprise/
I've not used it but it sounds like the (only) option.
http://help.apple.com/configurator/mac/1.2/

Have you tried the guided access? I'm not that familiar with it, so it could be that this is just meant for temporary sessions. I understand the employees have longer access to the device?
iOS: About Guided Access
Another option would be to lock the iPad into a single app. I wrote a blog post on this earlier. It worked for iOS 5, not sure about iOS 6. Though the enterprise configuratior might have options to enable this too:
Kiosk mode for iOS

Related

Universal app or not

I developed my first iphone app recently and would like to port it to an ipad. I've got a couple of related questions.
1) from what i've read, it sounds like creating a universal app will increase the size of the app that the user will download onto their iphone/ipad. is that right? my app is not small right now and i'd like to add some functions to the ipad version. Its something of a disincentive to package a universal app if it means a larger app for iphone users who won't benefit from the added functions added to the ipad app.
2) is it possible to have separate apps for the ipad and iphone but only make users pay for one version of them, if i don't go for a universal app? That is, if someone pays for the iphone version right now, i'd like them to have the ipad version for free when i finish it in about a month. is that possible outside of a universal app?
thanks,
rich
1) Yes, a universal app has everything for both versions so it is bigger. For a user that wants the app on both types of devices this isn't really a problem.
2) No, there is no way to have two separate apps such that the user can have both while only paying for one. At least it's not possible through standard means. If you make both apps free with IAP, then you could have your apps generate some sort of code that could be entered into the other to grant full functionality. Such a scheme is a lot of extra work.
Try to do a universal app and see how big it gets. All of the code is shared and as long as you don't have too many iPad-only full screen images or iPhone-only full screen images, the universal app isn't much bigger than a non-universal app.

Lock iOS app in single app mode programmatically

Note : I don't want to submit this app to app store.
What i want to achieve :
I want simple app with one view having two button Lock and Unlock.
Lock - This button will lock device. Only this app's screen will show nothing else will be accessible even after restart same screen will show up. Home button, gestures will get disabled similar to single app mode.
Unlock - This will unlock device and switch to normal behaviour of device.
iOS :
I want this for iOS 4.3 and above.
I have checked following solutions, but these don't match my requirements
Configuration profile
Lock-down iPhone/iPod/iPad so it can only run one app
But it is manual (reboot device, open app which you want to run in single app mode). I want to do it programmatically the way i mentioned above through my app.
Guided access (iOS 6 and above)
How to lock down user to Single App mode in iOS 6, Programmatically?
I want it do for all os and programatically.
Is there any way to do this ? As i don't wan't to submit it to app store is there any private api, some hack for springboard to achieve this ?
Thanks in advance !!
As I know in iOS 7 there is a new feature which allow to do exactly what you want.
However, it's only applicable for iOS 7 (and I believe it's only applicable to a supervised devices).
1) You will need to install restriction configuration profile with autonomousSingleAppModePermittedAppIDs key (take a look here)
This is one time step and a user will need to manually accept this configuration profile.
There is another option to use MDM to install it silently, but it could be an overkill for you.
2) You should use API:
UIAccessibilityRequestGuidedAccessSession (to lock/unlock)
It is defined here
3) And most beautility part. All of it is officially document. So, you can even submit it to AppStore.
P.S. Why do you care about 4.3 or 5? They have tiny market share by now. Most likely even iOS 6 has below 20% market share already.
Update 1
Potentially, you can try to use API which sends clicks and keys (search for GSEvent in iPhone-privateapi tag). May be using these API's you can do triple home to toggle accessibility on and off.
If this work, I think you should be able to cover iOS 6. I am not sure whether both this API and triple home click were available prior that.
It looks like this private API is unaccessible anymore in iOS 7. So, probably you can ignore this idea.
Just wanted to write on this even though this is old as i needed to implement a similar solution and i got it working. The steps for me as follows and a note here is that this involves MDM and other specific steps.
My requirement was as follows. Each of the iPad at different locations has a set of apps installed.For ease of it lets assume each Dept. has their own apps. Participants open a app related to their dept. to take a test, the APP automatically Locks the iPad to single-app Mode and at the end of the test, it will unlock it self.
Supervise the iPad/iphone using the Apple Configurator.
Install the MDM related files ( Each MDM has its own set of instructions, usually involves downloading a profile).
Every MDM has a option of Single APP Mode or MultipleAppMode. Select the second option and add the app IDs to the list. (A single APP mode works pretty well with MDM's but i did not want the app to be locked to a single APP all the time).
I used the UIAccessibilityRequestGuidedAccessSession api to lock unlock the device from single app mode.
http://bobxcode.blogspot.com/2015/12/programmatically-implement-single-app.html
Thanks,
Bob
In MDM configuration, There is an option
autonomousSingleAppModePermittedAppIDs
Optional. Supervised only. If present, allows apps
identified by the bundle IDs listed in the array to
autonomously enter Single App Mode.
Availability: Available only in iOS 7.0 and later.
But this needs Supervised Device mode.

ios open app after screen unlock

I'm developing a business app for iOS which will be used by customers in a cafeteria for ordering various products available.
Whenever iPad is screen unlocked by the customer, the custom business app should open up even if the previous customer open a different app.
So basically open this business app after every screen unlock, is it possible to get this done and how?
no it's no. it's the default iOS behavior. Only in a jailbroken iPad you'll manage to do this.
Definitely not.Its not possible and the other thing if you do so user gets irritated by seeing it again and again..As per my knowledge its not possible as well as not a better idea to do it..Think from user perspective..
I think it's not possible to do, not possible to do that scenario

Writing a replacement "App Launcher" / "Home Screen" for iPad

Is there a way for schools and businesses to replace the iPad "app launcher" or "home screen" with a customized alternative?
Could an application be developed for iOS that would allow this? Or is the SDK locked down to prevent such an application from being developed.
All pointers and insights greatly appreciated.
You can change the load screen, from the dark black to an image ,but no you can't change the layout of the app menu on the iOSDevice. At least not without jail-braking. This is because apple doesn't want you editing their menu that gives them a nice clean look, or see their software.
The app-launcher is not part of the app, it's different even though it's still mainly made with cocoa in objective c, it's still not accessible by you, legally. So since I frown upon jailbraking, and I'm pretty sure most developers do, I would advise to focus on your app, not the main menu which already works great.
Check out ana App launcher definition here.
The sdk is completely locked down, but you could still make a big app, like an app box that has multiple apps inside. The application could be web-based, allowing more access without updating the app, meaning no waiting for apple to approve an update.
One more alternative is that you could make custom apps that are free, and easy for the students or whoever to download them, but they would require a student password to unlock.
Don't edit an OS, it could do serious damage to the device software forever.

iOS prevent app switching

I want to prevent app switching on an iPad. I need to load a custom app for my employees who can use the app and do nothing else on the iPad. I've heard that Apple allows custom apps to be loaded for commercial uses without going through the app store.
The basic settings under General > Restrictions let me turn off a few apps, but this is inadequate. Ideally, I need two provide two modes: Guest and Admin. The Admin would have ability to other apps and settings. Would be great if the passcode functionality could be leveraged for this.
Is this possible?
The ability to disable the home button on the device is coming in iOS 6, as seen on iOS 6 Preview: Accessibility.
You may be able to configure an iPad to disable the home button as well using Apple's Configuration Tool by setting SBStoreDemoAppLock. See another question on Stack Overflow, Lock-down iPhone/iPod/iPad so it can only run one app.
Finally, as for deploying your apps, you probably want the iOS Developer Enterprise Program.

Resources