Can I disable Home Button on my App? (full screen browser kiosk mode) - iphone

I have to put a lot of iPads on a stantd on a tourist fair to show our web, and we don't want that people can use these iPads to play/enter facebook/etc. Is for this that I was searching an application that put the iPad on kiosk mode to show fullscreen our web, but that's ridiculous if the user can press home button an go to springboard...
Is for this that I start to develop a fullscreen browser without address bar, only show a URL that is selected programatically, and I think to deploy this app on our iPads (we have a developer account), but we have the same problem: if the user press home button, he can select Safari and enter to any website.
In conclusion, we need to disable home button to hold the user on our website (I know that if press and hold home button + power button, iPad reboot, but the power button will be disable physically on the stand), and I also know that this app will not be approved by Apple, but as I said before, this app will be only to the fair stand.
Thanks.
Four years after, I found the response.

No, you cannot disable the home button. (And thank Apple for that. Who knows how many people would believe that their app is so fantastic that people ought not stop using it ever.)
Why do you need to disable the home button anyway? Why not build a stand for the iPad that blocks access to the home button?

Could you not use the parental controls to restrict/prevent access to Safari, Mail app's etc?
On iPad,
Settings > General > Restrictions
You can then easily remove app's such as Safari from the ipad's springboard, and to enable access requires a code (which you set) so no one would be able to access default app's that you don't want them to :)
Of course people would still be able to exit your app by pressing the home button, although they would not be able to do anything, and you can even stop them from deleting apps through the restrictions settings.
The only way to prevent exiting via the home button would be to physical stop people from pressing it by having the stand cover it over.

There are companies that make specific products for this type of thing. Here is a write up a couple (they are not cheap)...
http://www.tuaw.com/2010/04/26/ibracket-turns-your-ipad-into-an-ikiosk/
Steven

Probably too late for the OP but for anyone else trying to do this then see my answer here Lock-down iPhone/iPod/iPad so it can only run one app
I had been trying to do the same use case and pretty much everyone on stack overflow is saying it's not possible. Turns out that it is.

More than 4 years after, I found the answer, haha.
I'm not sure since when, but now we can block to use only one app from Settings > General > Accessibility > Guided Access
After that, we can do triple tap with our app opened, and it will be locked.
Also, we can use Apple Configurator to "Lock to App", but this way required to install a profile in the iPads (it wouldn't be a problem four years ago...).

It is possible. But I think Apple may reject your app. I found a link with good explanation here
And this might help also.
http://www.akadia.com/services/ssh_test_certificate.html
http://www.verisign.com/support/verisign-intermediate-ca/code-signing-intermediate/index.html

Blocking home button access is desirable where these units are used commercially as promotional displays or in point of sale environments. It would be useful, actually, if Apple licensed developers of point of sale apps to be able to do this - it would be no problem for this function to be specific to registered ipad units....and it would also make the ipad less of a theft target. it would be useless to anyone but the owner. right now the only answer is to physically cover the button in an enclosure, thus concealing Apple's investment in a beautiful product design.

Achieveable in software like so:
Settings > General > Accessibility > Guided Access
Set a pin if your iOS device has public access.
once in the app you want to lock down, triple click the home button to enable guided access. With this on users will be restricted to your app (or webclip) and required to enter the pin to exit to iOS home if they hit the home button.

There is no solution for this issue, maybe if you jailbreak your device, there is one, but I don't think so.
Please see: Temporarily Lock or Disable iphone home button

Why do you need to block the button? If it's some kind of evil plot to make developers only use the device for developing, the home button IS important: you must test what happens when the real user do that.

Related

App should launch on it's own after hitting the home button to pull the phone out of sleep mode

We have built an Cydia app for jailbroken iPhones. Now my client wants the app to launch on it's own after the user hits the home button to pull the phone out of sleep mode. How can I accomplish this?
This would require you to redefine the functionality of the home button, or at the very least add functionality to, which Apple does not allow. It is possible, but it will get rejected from the app store.
EDIT: Didn't notice this was for jail broken iPhones, so yes you can do this. You would need to find custom Libraries, I don't know of any of the top of my head. Alternatively you could figure out what part of the private Apple API you need to use to do this.
Please note that changing button functionality is not the best of ideas... Perhaps you could accomplish the same thing by running in the background and using push notifications when user interaction is required?
zmaster pulled this same function off on his Android Lock jailbroken app. It shouldn't change the function of the home button, it would still pull the phone out of sleep mode but the app would launch just as any normal password protection would.

iphone, add home screen icon automatically

is it possible to have an icon on the iPhone home screen, programtically without user doing it. I mean , when you visit Youtube on your iPhone, it asks you to add a home screen button, which you click and then it takes you directly to the youtube page. I need to know that if it's possible to add a home screen button automatically , without even asking the user to add it.
Short answer - No.
Little longer answer - if sites will have rights without user permission add web-apps on springboard, allow location services and so on. This is mess... Thats why you can't do such thing due to privacy & permissions.
Maybe on jailbroken iOS, but not sure about that.
No, you cant have the shortcut for the home screen. This link will assure you that.
However, there's a slightly related solution.

Disable Home Button

I know this has been asked previously however I would like to disable the home button for an in-house app which will be distributed internally across iPads.
I have searched for a solution both on here and Google and would like to stop users from putting the app into the background. I have seen one solution which doesn't seem to work under iOS 4.0 which opens the app up again when the home button is pressed.
Could I make use of any private APIs to do this seeing as this is an internal app and won't be reviewed by Apple for the App Store?
Thanks
I don't know why this is down voted so much it is a perfectly legit use case for an internal enterprise application. Kiosks, POS etc.
Anyway anyone wanting to know how to do this should see my answer here Lock-down iPhone/iPod/iPad so it can only run one app
Whatever your reasons are you are not able to do this.
Apple provides no functionality to perform this action through their API. You might want to re-think your strategy. Look maybe instead for a physical barrier.
Additionally you might want to look into JailBreaking and iPhone since you say it is only for internal development and won't go to the appstore. A jail broken phone might allow you access to change the home button behavior, though I cannot confirm this since I have never had need to code on a jail broken device.
If it's your iPad, glue or bolt a cover over the home button. Connect the iPad to Xcode or iTunes to halt and/or reload your app.
But note that knowledgable users will still be able to reboot the device by holding down the lock button.
Jailbreak and add incarcer app can disable the home button (admin has a code to allow activation). Then you're locked in your app. If you're up for jailbreaking, seems like a great solution.
There's a new hardware solution, adhesive-backed aluminum home button covers. They allow home button activation through a pinhole, using a paperclip (similar to many popular metal encosures). http://bubcap.com/bubcap-pro.html

Launch emergency App/Do emergency call without screen-unlocking the iPhone

I want to run my application without opening the slide lock of iPhone the icon of the app should be displayed on the home wallpaper or screen. by tapping on the icon the app should run its an emergency service application. So is there any service provided by apple like calling emergency numbers without opening lock.
please suggest me
thanks..
No. You have to launch all Apps through the home screen (Springboard).
There might be a way to do this when jailbreaking the device, though.
That same functionality, which you speak of, is exactly what runs on the iPhone BEFORE it is "activated". I wonder if there is a way to use this already built in app to create what you're shooting for.

Adding a button to an iPhone prefs / settings bundle?

Just wondering if it's possible to add a button like the "Clear History", "Clear Cookies" etc buttons in the Safari preferences to your own app's settings bundle? Been digging through the dev docs and can't find any plist specifier for a button, so I'm wondering if this is an internal API for the Apple guys?
After you hit the button, you get an action sheet asking you whether you really want to do it, and then presumably there is some callback based on the user's input.
Also noticed that the Nike + iPod settings have a clear button in them, but again, that app might have access to internal APIs that we don't.
No, this is not possible. The system only supports interacting with the values from within your app. You can't run code from the settings app so a button would be useless.
Nike+iPod is a root application. Anything running under root can run code from basically anywhere (with restrictions, Sandbox is a b**ch) If you're interested you can make a jailbreak preferencebundle with Theos or iOSOpenDev! Which allows you to make a root bundle that can run button action code.
iOSOpenDev, which extends Xcode for iOS jailbreak-style project development, provides project templates that have a check boxes to include either a simple PreferenceLoader (plist-based) or a full PreferenceLoader bundle.