I am developing a web application to be run in iPad safari. The iPads will be provided to the customers and the question is - I want to allow access only to the safari browser and not other applications that can be found in the iPad, especially the iPad settings. Is there anyway I can do that in iPad?
You are basically talking about turning the iPad into a kiosk, meaning a computer that cannot be controlled locally beyond a subset of chosen functionality. In other words, the user is not in charge. In practice, every iPhone and iPad is a kiosk, because Apple is in charge. The only way to take control away from Apple is to jailbreak the device.
The extent to which Apple is willing to share the reins is the iPhone Configuration Utility which does not allow you to disable settings, although you can disable Safari.
Related
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!
I'm shipping two binaries; one for iPhone/iTouch and the other for iPad. It's the same application.
Will Apple ensure that the user will never receive an iPhone version of the app on the iPad? If YES, then I don't have anything to worry about, but if not then I do have a problem.
The reason I ask is the iPhone application will simply not work correctly on the iPad because the server knows it's an iPad and will deliver the iPad HD content to it and the iPhone cannot handle that. I would rather not hack my application to send the server a fake device type if running the iPhone app on the iPad in order to receive the correct resources.
Suggestions?
I've been looking for this for a while because I couldn't prevent the iPhone app to load on the iPad. Searched a bit to understand why this was happening, followed #hotpaw2 instructions and found this on the official apple store rules:
UPDATE:
2.4.1 To ensure people get the most out of your app, iPhone apps should run on iPad whenever possible. We encourage you to consider
building universal apps so customers can use them on all of their
devices. Learn more about Universal apps.
https://developer.apple.com/app-store/review/guidelines/
The SDK and/or App store rules prohibit you from preventing an iPhone app from running on an iPad in 1X or 2X zoom mode, unless there are other requirements listed in the app plist. Apple's app review is known to test iPhone-only app submissions (unless there are other requirements) on an iPad, and reject the app if it doesn't run properly.
Other requirements (as listed under UIRequiredDeviceCapabilities in the app's plist) might include your app requiring telephone capabilities (or healthkit, etc.), which might help you temporarily, but still won't prevent the app from running on some hypothetical future iPad product that includes telephony capabilities (and/or healthkit, etc.).
Actually you can.
Add telephony to UIRequiredDeviceCapabilities in your plist file.
But i really not recommend it and maybe you could get rejected because of gratuitously using this property.
I think you should handle that there are iPad versions and iPhone versions on iPads, use the second one as an iPhone.
Also don't forget that retina iPads will use upscaled applications at retina resolution while none retina ones use the standard resolution. And this behavior can tweaked using jailbreak tweaks like RetinaPad and FullForce.
In the plist settings, add Application requires iPhone environment and set the boolean to YES
I want to lock screen iPhone and iPad programmatically
I have searched a lot but didn't get proper idea. I have found one app Lock me but it is not worked on after iOS 7.
here is that link
https://github.com/neuroo/LockMeNow
as per my search I think we are able to implement this functionality using private api and using kiosk mode.
I don't think you can programmatically lock the iPhone or iPad from you application. that not full fit the apple policy and its guide line. In iOS app development we can not handle any API that out of the application. Apple not make any API for lock screen that you fire from your native app.
Other things is you are attached one link in your question. that clearly write the limitation that:
This application can obviously not be accepted (as is) on the Apple Store, and that's mostly why I put it here. If you want to use the application, you will need a developer cert (or a jailbroken device and using the iDevice build toolchain).
We have an iPhone app and want it to support iPad also.
But as I learned if you submit an app to Apple and indicate it is Universal, while in reality it is not (for example iPad is not supported at the time of submission, this is restricted by their policy).
So, what is the best way that we simultaneously allow further development of our application such that we also support iPad?
ps: we didn't want to create separate projects for iPad and iPhone since they share lot of code, but as I mentioned we encountered following obstacles.
Submit your app as an iPhone app. When you support iPad change it to a universal app when you submit your update.
Is there a trustworthy way to test iPad compatibility of a web application without buying the device itself? What about other tablets, do they provide any emulators?
If you have a Mac, just register with Apple (for free) and download the iOS SDK. It includes a program called 'iOS Simulator', which you can launch directly without knowing anything about Xcode/etc and includes Mobile Safari just like a real iPad. Since WebKit is exposed to iPad programmers for use in their programs, I'd expect the simulation to render identically to the real thing and, in practise, have never noticed any differences.
The iOS Developer Centre is here. Sadly, I have no experience of other tablets.
This is past mid-2012, now there are plugins or settings for User-Agent that "emulate" the connections for ipad (ios4 & ios5). Well it tricks the server into thinking that it is a different device.
For example, using Chrome, press F12 and click on settings (bottom right) and one of the tabs allows you to emulate the different devices.
safari - http://www.dummies.com/how-to/content/how-to-activate-user-agent-switcher-in-safari.html
FF needs plugin: https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/
IE8 - http://www.howtogeek.com/howto/18450/change-the-user-agent-string-in-internet-explorer-8/
IE9/10 - anyone can help?