Let's say I develop audio player for iPod Touch 4/iPhone. Currently it can be controlled with standard panel (double click Home and scroll left).
But how can I control that with built-in voice control (long click on Home)?
Apple has a VoiceServices framework (more info here) that may do what you want. Unfortunately, the VoiceServices framework is not part of the public SDK and it can't be used in apps submitted to the store.
how can I control that with built-in voice control
There's a new iOS 13 feature called Voice Control that may help you to control your application and your device more generally with your voice.
Activate this feature in your device settings Accessibility - Voice Control as follows:
Take a look at the Customize Commands menu to dive into the vocal commands.
The only thing to do as a developer is eventually to adapt the accessibilityUserInputLabels properties if you need specific names to be displayed for some items.
The Voice Control feature is definitely THE built-in tool to reach your purpose.
Related
For example, I would like to build an app to remind me to pick up a kid from daycare. I'd like to touch a button inside the app and dictate instructions that "Daycare closes at 3pm tomorrow" and I can then process the text rather than making them select from pulldowns. Is this possible in some iOS kit?
A speech recognition API is shipping with Xcode 8.
WWDC Video
Example Project
You can download the beta build now or wait till it ships this fall.
Android OS Accessibility allows developers to integrate their own tts engines into eyes-free api. I want to add a custom text-to-speech engine (and voices) also into ios environment, with the same API used by Voiceover. Lets say, I just want to go to
Settings -> General -> Accessibility -> Speak Selection -> select custom X engine & voice
Is it possible?
No, it is currently not possible. If you are interested in the answer to this question changing in the future, I suggest you file a bug with Apple asking them to implement a publish such an extension point (it would take effect probably not only in VoiceOver, but also in Siri and in general in AVSpeechSynthesizer). I am sure some TTS companies already did file such a bug (at least), but the more people complain about it, the more likely or soon this feature will be implemented.
Is it possible to write new accessibility services for iOS? It's easy to find info about how to make write apps so they are accessible, but I want to write a new service that has capabilities like a screen reader would have, and that works with existing apps.
From what I can tell, it's possible on Android with the Accessibility Service, on Windows with UI Automation, and OS X with Accessibility Framework. But I can't figure out if iOS has a similar capability.
The short answer is no. The long answer is what you are asking to do is a system utility and on the iOS platform developers are only allowed to write applications that are for the most part sandboxed I.E. they can only interact with themselves or apps by the same developer. They are forbidden from accessing data from other apps on the device. Developers also have no access to what so ever to system files that control things like font size and text to speech. Apple exercises tight control over their OS to maintain a stable platform.
Hope this answered your question!
You can't define a new system-wide service, but you can customize the existing services pretty heavily in your apps.
You can disable the default accessibility controls for a view:
view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;
view.isAccessibilityElement = YES;
You can use the informal accessibility protocol to define your own VO cursor frames, and post UIAccessibilityLayoutChangedNotification notifications to make VoiceOver speak.
I would like to create an interactive iOS Newsstand Magazine app with features including page curl effect, direct to a page from contents table, double tab to get list of pages icon at bottom in a horizontal line, page with images and link to a web page inside Magazine that should open with Safari.
Is there any open source framework/tools (except Baker) or tutorial for free?.
Is it possible to get done everything using PageViewController?.
Is there also any restriction on number of pages in a Magazine app (either minimum or maximum pages per Magazine issue)?
Target Platform is iOS 6.0 and greater, Target device is iPad/iPad mini running on iOS 6.0 and greater.
Thanks in advance.
This tutorial explain most of what you need to know. Need to be more specific about what open source tools you need.
Yes
Apple does not specify, but you should publish regularly.
It can be a long journey to create a Newsstand App. You could also go the easy road and release your magazine through something like - http://uninkd.com.
The Android platform has a RatingBar widget. I believe there is a similar field for BlackBerry because BlackBerry AppWorld uses a rating bar. What field are they are using for that?
I was browsing another question on StackOverflow and found a reference to a BlackBerry knowledge base article that includes sample code for a RatingField.
The corollary to an Android Widget on the BlackBerry is a Field. The BlackBerry Widget SDK is meant for doing web development specifically for BlackBerry devices. I've edited your question to reflect this.
The important aspect to know about BlackBerry development is that the operating system is not open-source. RIM has chosen to make some APIs available for app developers, but they have not opened up the entire platform. RIM is able to access the entire operating system when they write an app themselves - such as the Facebook or Twitter apps, but if you are writing an app as a third-party developer, you are limited to what has been exposed in their developer JDE.
AppWorld may well use a built-in field that does the rating stars, but, if it exists, that field is not available for third-party developers.
It is actually pretty common in the BlackBerry culture to write your own Field objects. There is a ButtonField in the JDE, for example. It works well if you want a button with text. But if you want to make a button that contains only an image, there is no built-in ImageButtonField to use, and you cannot set an image on a plain ButtonField. You have to write your own button field to handle this.