iphone - How to lock down user to Single App mode in iOS 6, Programmatically?



There are some question which are related to this,. but getting the exact answer:

Lock-down iPhone/iPod/iPad so it can only run one app

Recently iOS 6 is introduced with some business oriented features, two of theme are:

  1. Guide Access
  2. Supervised Access

These both deals with Accessibility Control features, Like allow user to restrict access to there device, only if they have full access to the device. In that way this is only useful to people, who owned the device like, a school use there device for exam, a restaurant for menus, for product display etc. All of them have access to the device to configure settings etc.

Now my question begins here, I am thinking of an App, which look down user to single app mode when user run the app and after signing out of the app the device start working as before in normal mode.

Through the time when app is active, user should not able to access any other function or button, this applies on all three device iPad, iPhone, iPod.

Also I found that this could be done by installing some Profiles etc, which looks wired and we can't ask user to do so.

So the simple idea is user will only install the App, as normally he does and we could lock him down to single app mode when he log into the app.

4 Answers: 

The SureLock iOS app does nothing but inform the user how to do it in your system preferences.

Doing it from the app itself is only possible, if you break the rules about private frameworks. And break it hard.

I am sorry to tell you that the way you present your idea, would never be approved for the AppStore.


The accepted answer to this question is no longer correct:

Starting with iOS 7, UIKit exposes the function UIAccessibilityRequestGuidedAccessSession as public API.

I don’t know, but can very well imagine that this function existed as private API dating back to iOS 6, where the guided access feature was introduced.

Note that for this method to have any effect, the device in question must be supervised using MDM, and the ID of the app you want to use this API must be included in the device management profile deployed to it.


Hi may be I am late but I have a good news for you.

Apple provide a new feature in IOS 7 and we can lock the user to single mode without user permission(Lock and unlock mode) here is the apple documentation link

the other way is to install the profile config profile like is

it lock the home button of IPhone and enable single mode


For this you have to do following..

  1. access apple's private api's
  2. access apple's private framework

Apple don't encourage accessing there private api's specially when it comes for App Store, if you accessed the private api's at the time of application review on App Store they will reject the app giving you a message of "accessing a private api".