How to trigger iOS home button long press - ios

I want to trigger iPhone's home button long press event to open Siri from my application. How it is possible? Is there any way to do so using programming or Bluetooth HID protocol?

Accessing Siri from your code is not possible if you want to submit your app to the AppStore, but if you're not looking to do that, have a look at this:
StackOverflow
About the HID protocol:
I don't think so, but I would not rely on this information.

From the App Store guidelines (slightly abbreviated):
Apps that alter the behavior of switches on the device will be
rejected
check here for more.

Its not possible. Apple haven't provided access to those API.
Hope we will have it after WWDC 2015 :)

Related

Is there a URL forwarding to the App Store review creator in iOS 11?

In iOS 10, I was able to forward directly from my app to its App Store ratings page by using the following link:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=app_id_here&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8
However, in iOS 11 with its all-new App Store where the review page doesn't exist any longer, this seems to be broken now.
Does anyone know an alternative url that opens up the review creator page directly? Or does Apple want us to stop using such links?
You need to add a name after the app parameter of your url (here I use 'itunes-u') :
https://itunes.apple.com/us/app/itunes-u/id\(appID)?ls=1&mt=8&action=write-review
Also note that the scheme seems to be working properly so you could instead call :
itms-apps://itunes.apple.com/us/app/itunes-u/id\(appID)?ls=1&mt=8&action=write-review
What you should do is implement the SKStore​Review​Controller for IOS 10.3 and higher.
It's super simple,
import StoreKit
SKStoreReviewController.requestReview()
It turns out that the system will automatically limit the display of the dialog to 3 times over a 365-day period, so there’s no logic required to check this.
There is however a recommendation that you show the prompts at ‘logical points’ when it is clear the user has made some sort of engagement within the app.
The guides also say you should allow a week or two between repeated displays of the prompt so users don’t feel like they’re being pestered(this will require some thoughtfulness and implementation on your part).
Jordan Holland
First, according to apple guidelines you shouldn't do this,
but you can just add to itunes link of your game &action=write-review and just open this link.

Listen for iOS device power button presses

I am creating an app, which needs to do something when the user presses the power button 5 times.
I figured out that it's difficult to implement in iOS, but I think it's not impossible. How do I listen for power key events, even when the app is running in the background?
Can anyone help me to find solution?
you can tap a power key once and also you cannot detect the event from your application, this is not possible in iOS as far now, better try a different way to send alert with in your app, set some conditions with in your app and then send a alert based on those conditions if satisfied, I think this would be better,
Somehow ,If you try to override the existing functionality of the power key, apple will reject your app I think so,
You can't directly get the power button events. But there are notifications which you can count like UIApplicationProtectedDataWillBecomeUnavailable or UIApplicationWillResignActiveNotification. Or just register for all low level notifications with CFNotificationCenter and see if you find something fitting like com.apple.springboard.lockstate.
I don't think you can override system level actions like holding the power button, pressing the home button, overriding the mute sound switch within your own app. iOS system doesn't exactly behave like an normal computer OS, it's to much more limited.
Apple is not allowing you to use hardware components completely. They have added some restrictions. They provided the method in the app delegate i.e. applicationDidEnterBackground can catch the home button press .Also they has provided the the API's to access the camera,bluetooth etc .At least this much of API's I know which provided by apple publicly to access the hardware. You cannot access the other hardware elements in your application which not provided publicly by apple .If you are able to do this by any way then also your application will not approved by apple .

iOS Show UIAlert in Safari when using My App's Share Extension

I'm developing a simple content blocker for iOS 9+ devices. Everything seems to be working fine in terms of blocking ad's / trackers etc and I even have the ability to 'whitelist' websites directly from Safari using a Share Extension Action.
My question is when the user taps Action > My Apps Share Extension [which adds it to a list inside the main app] I want to show a simple Alert that says something like 'This site has been added to your whitelist..." for a few seconds and then disappear.
... how do I do this?
**UPDATE I have read all of Apples documentation on this but still can't figure it out. The post here does actually refer to how to design a streamlined UI but doesn't really cover my situation.
Hoping someone will know :-)
Why you don't use Notifications for this , you can have your notification style set to show like an UIAlert. You can see something like that in Calendar app in iOS.
UPDATE:
I did a little bit more digging , it's not possible to change the style programmatically according to this. So the best choice is handling it when your app is in foreground. I can't think of any other OS wide solution other than local notifications.

IOS - how to open a website after application is removed from device

I am new to programming for iOS and need some guidance on how to link to a website after an app gets deleted. For example, when a user clicks the "X" button, removes the app and any data it stored, the code should open a website.
Is this possible?
No, Apple does not allow you to hook in the SpringBoard to detect app deletion.
There is no work around, it's not possible.

VoiceService in iOS

I have a question about understanding event changes in iOS when VoiceOver is enabled. I'm developing some app for blind people.
Unfortunately there is not TTS support on iOS, differently from the Mac OS SDK where you can use NSSpeechSynthesizer objects.
I found VoiceService the is not public. So, in conclusione it seems that no API for speak text is available on iOS.
The question is: How can I notify the user about data processing end?
Here is a user case: User push button, the app make some calculus/process, than should return the result. In Mac this is easy you use speakString:#"Result".
But how can I tell VoiceOver to announce the result??
Excuse me if I was too contort :-)
Thank you very much...
You could use this
if (UIAccessibilityIsVoiceOverRunning()) {
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
#"Result has been computed.");
}
VSSpeechSynthesizer is available for the iOS - but it is a private API and as such will likely be rejected from the app store. However you can still make apps for private consumption.
http://iphone-dev-kitchan.blogspot.co.uk/2010/08/text-to-speech-using.html
I consider it being a Private API a bug as it makes creating accessible apps for the partially sighted for instance, harder. I have filed Bug ID #: 9451650 Bug Title: VSSpeechSynthesizer is Private
You can use FliteTTS which is free and reasonably simple to integrate, and still working in iOS5+.
https://bitbucket.org/sfoster/iphone-tts
You could also record a generic message 'Results available' as a wav file and play that. If your message is static (or is from a short list of possible results) you do not need TTS.
iOS6 VoiceOver / Accessibility was mentioned in the WWDC2012 keynote.
See previous answers here (which I have reiterated above)
How can I add NSSpeechSynthesizer Class Reference?
Is there an iPhone API that allows me to use VoiceOver directly in my app?

Resources