How to check if keyboard is installed on iPad? - ios

How can I programmatically check if a particular keyboard (in my case, Chinese handwriting) is installed on iOS (4.3)?

Short answer: You can't, at least App Store legally with Apple's public APIs.
A little longer answer: This might be possible with a hacked/jailbroken device, but I have never seen methods to accomplish this task.

Related

disable internet on other ios apps

I'd like to create a very simple app to block internet access for certain app's between 7PM and 7AM on my iPhone.
However the mobile phone & imessage should stay usable, so it's no airplane modus.
This is to have some "no notification time" and don't see for example new e-mails coming in.
Would this be possible to archieve? Can an app control this behaviour for other app's?
Thanks a lot in advance for your answers!
Best regards,
Koen
No, you cannot do that. Apple "sandboxes" apps so that they have no ability to change the behavior of other apps.
If you did find a way to do that, Apple would reject your app, and probably quickly update the OS to prevent whatever method you used to do it.
EDIT:
You might be able to find a way to do this for jailbroken devices, but obviously those can't be released to the App store.
First thing, Such Apps are not allowed to be published on App Store.
I have worked with private-apis, and i know that this is not possible with only private apis. This may be possible once after you jailbreak your phone + using private libs, and may be you can create tweaks for jailbreak to achieve this functionality.

Programmatically turn off a non-jailbroken iPhone

If it is possible is it possible for iOS devices or just some? If so, which ones. If so, are there any resources / documentation where I find out more explicitly?
is it possible for apps to programmatically turn off the iPhone
No. There's no public API in iOS 9 (or any previous version) for switching the phone off.
are there any resources / documentation where I find out more explicitly?
The primary source for information like this is Apple's iOS documentation.
Short answer no. Longer answer, still no.

Access private APIs on NON-jailbroken devices for Business use ONLY

This question follows the answer provided by Nate on this link:
How do I change my iOS applications' entitlements?
It seems the described procedure is to be applied on Jailbroken devices.
I'm interested in being able to turn off the screen via my iOS application.
Previous answers point to doing this:
void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");
Then
BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim
I read that the app also needs com.apple.backboard.client entitlement.
This is where my knowledge stops.
How can I use this in my app if the app is ONLY to be used in a business context controlled via Apple's MDM platform ?
I do not want to jailbreak the device.
First of all, very interesting question. Unfortunately, I don't have the answer, but have some info to share:
I am not aware of any method to add entitlements to 3rd party apps on NON jailbroken phone. You can check my question here: Does anybody know a way to add entitlement to iOS application for non jailbroken device? A lot of upvotes, no anwer thought :(
Generally speaking, entitlement area was reverse engineered to death and there is quite small chance of finding some holes around it. So, I would say, you will have to dump BKSDisplayServices method and search for something else to turn off screen.
I tried to find a way to turn off display on non-jailbroken device too, even posted a bounty on it: Turn off display in iPhone OS (iOS)
There were several answers, but none of them worked well enough.

iOS Changing App icon at runtime

I want to change my app icon at runtime. I read other similar threads on SO, and they say that it is not possible using Apple sanctioned APIs. One of the responses mentioned that its possible using restricted APIs, but did not elaborate.
I understand that if I use restricted APIs, my application scope will be reduced to jail-broken devices only. I'm ok with that, but how do I implement this feature.
Sorry, I cannot indicate any research effort for this question because I have no idea how to go about it or even how to get started on this.
Thanks in advance :)
Although this is an old question, I recently discovered this is now possible, as of iOS 10.3:
https://developer.apple.com/documentation/uikit/uiapplication/2806818-setalternateiconname
...using the UIApplication.setAlternateIconName(_:completionHandler:) API.
Note however you are limited to using icons which are already shipped as part of the app bundle.

Is it possible to use iPhone's volume control buttons for some other purpose?

I need to make a photo app.
Will it be possible to assign some function, like controlling the light intensity or brightness to an iPhone's hardware volume control buttons?
Changing the behavior of iPhone external hardware buttons is a
violation of the iPhone Developer Program License Agreement.
There is an app that was banned from the appstore for trying this.
Ironically, iOS5 Camera App allows to use the volume control as a shutter. Perhaps the SDK will eventually allow more.
This is possible. This tutorial will walk you through the steps.
http://fredandrandall.com/blog/2011/11/18/taking-control-of-the-volume-buttons-on-ios-like-camera/
In general, the App Store Review Guidelines state that re-purposing physical buttons is not allowed. However, since the volume up button is now a standard feature for taking photos, there appears to be some leniency for camera apps that also adopt this feature. The official guidelines state this rule in section 2.5.9:
https://developer.apple.com/app-store/review/guidelines/#software-requirements
2.5.9 Apps that alter or disable the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, or other native user interface elements or behaviors will be rejected. For example, apps should not block links out to other apps or other features that users would expect to work a certain way. Learn more about proper handling of links.
Short Answer:No.
A few photography applications have tried to do this and Apple has rejected them all. Maybe one day...
Yes, but only on a jail-broken phone.
I don't think this is really possible as we cannot change the in-built functionalities of the volume control of iPhone and for that matter any of the iOS devices and make it work as we want.
I think all this is not a part of Public API for iOS developers which we can modify and use it for other functions in our application. It is a part of Private API.
So as far as I know, it is not possible.
Hope this helps you.

Resources