Does anyone know if there is a way to programmatically enable and read text in-app using the underlying Accessibility features available in iOS 5+?
To be clear, I am talking about the following feature (but of course doing this programmatically).
I am open to alternatives, but would prefer an Apple approved way to use this particular iOS 5 feature.
Unfortunately it's not possible currently. The "Speak Selection" is only available to users that enable it in Accessibility settings and only for highlighted text in apps.
For programmatic Text-to-Speech you can check out iphone-tts. It works pretty well, though one caveat is that it only supports the voices it comes with, it doesn't use the "Siri voice". You can tweak the pitch and speed to your liking, but you won't be able to match the built in voice for iOS.
Related
If one writes a custom app is it possible to be able to add a shortcut to the iOS lock screen? Or is that reserved for Apple sanctioned apps?
Currently, one can go into settings and add, say, the voice memo app to the lock screen control center. Of course, these shortcuts are available when you've signed in as well (by getting to the control center).
I like to use React Native and Expo, but my question is more general than that (but let me know if you know of any Expo tricks for this).
(This question is mostly applicable to those of us developing iPhone apps without access to an iPhone 7.)
I want to incorporate the new taptic feedback available with the iPhone 7 into my apps, and I want to make sure my uses of it align properly with how iOS uses them at a system level. Without a device I can't test this.
Apple provides a document describing the different kinds of feedback: https://developer.apple.com/ios/human-interface-guidelines/interaction/feedback/ Namely "Notification", "Impact", or "Selection".
For instance, in Mail.app, when you slide a cell to archive it, it gives taptic feedback. Which of those three above (and their corresponding "variation") does Mail.app use? I'm guessing "Selection" but may be wrong.
Bonus points for pulling down Notification Center or Control Center, as well as any others you can provide for reference, but the gestures in Mail.app would be an awesome start.
You should check out this article, it gives you an overview how UIFeedbackGenerator works. https://www.hackingwithswift.com/example-code/uikit/how-to-generate-haptic-feedback-with-uifeedbackgenerator
Alternatively, you can create a demo project and check out which feedback is best suited for your needs.
Edit:
It's the selection feedback for Mail app. The notification center uses multiple feedbacks depending upon the sliding. If you do it slowly, it's impact heavy and how if you do it a bit slowly, it's impact light and if you just slide it down immediately, it produces no feedback.
Recently, I have installed Twilight on my Android phone. Apparently is adds a color tone effect on the screen. Here are two screen shots taken from PlayStore.
Now my question is that is there a way to develop similar system display tone color set up application in iOS?
It is not possible as Apple restrict the developers to edit home screen. There are very limited features that we can access like Calendar, Gallery, etc. The above screenshot your are showing is related to Widget but there are no Widget concept in iOS.
Yes, it is certainly possible and I use an app that does this.
Have a look at https://github.com/anthonya1999/GoodNight, It's even open sourced.
However an app like this will most likely be denied from the App Store, but never the less it is possible.
Night Shift is supposed to bring something like this in iOS 9.3, though not to that extent.
I don't know of any public API that would allow an application to change that kind of parameter system-wise, though. Maybe in the Accessibility framework, but that would restrict it to app-wise, not system-wise.
Today, Apple announced to iOS7 developers:
Starting February 1, new apps and app updates submitted to the App
Store must be built with the latest version of Xcode 5 and must be
optimized for iOS 7. Learn more about preparing your apps by reviewing
the iOS Human Interface Guidelines.
http://techcrunch.com/2013/12/17/apple-requiring-all-app-submissions-to-be-optimized-for-ios-7-by-feb-1st/
What should we do about that? Use iOSSDK7.0 or later? Use Xcode5.0 or later?
Thanks
Optimizing for iOS 7 is not an entirely technical task. Yes, you should be using the latest SDKs and Xcode, but what this really means is that you should have read and following the iOS7 UI Transitions Guide, iOS Human Interface Guidelines and the various other style guides within the Apple Developer Center.
The requirements are :
Use XCode 5.0 or later
Use iOSSDK7.0 or later
Deference. The UI helps users understand and interact with the content, but never competes with it.
Clarity. Text is legible at every size, icons are precise and lucid, adornments are subtle and appropriate, and a sharpened focus on functionality motivates the design.
Depth. Visual layers and realistic motion impart vitality and heighten users’ delight and understanding.
Defer to Content - Take advantage of the whole screen, Reconsider visual indicators of physicality and realism, Let translucent UI elements hint at the content behind them,
Provide Clarity - Use plenty of negative space, Let color simplify the UI, Ensure legibility by using the system fonts, Embrace borderless buttons
Use Depth to Communicate
Just look at original Apple apps, your must follow that style
Addition info at links
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Anatomy.html#//apple_ref/doc/uid/TP40006556-CH24-SW1
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/index.html
I've read a lot of topics about developing a custom keyboard for iOS and it's clear that it is impossible to build a system-wide alternative keyboard.
But I still try to understand how Emoji keyboard(the emoticons additional layer) could make it possible and it is an official app on AppStore (that means it passes Apple approval!).
Note that their keyboard, once installed, can be added in Keyboard section in Settings!
Thanks for help
Emoji apps enable a by-default-disabled keyboard built into iOS. If I recall correctly, it's enabled by default in certain regions (Japan) but disabled in most places. So they aren't adding a new keyboard, just revealing one that's already there.
edit: ... and here's how they do it
The Emoji Icons are a stored in the private use area of unicode. They won't look any good on a different device than an iPhone/iPad, this is Apple specific.
The app is just to enable the keyboard. You can do it yourself: Making An Emoji Enabeling App.
Have a look at The truth about iPhone Emoji, which sheds some light on the whole topic.