What should we do about optimizing for iOS7? - ios

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

Related

Blur effect in iOS which ignores accessibilty ("reduce transparency" option)?

I have a blurred view which overlays other views.
UIVisualEffectView is not appropriate because it is disabled when user sets Accessibility >> Reduce transparency.
Could you suggest how to show this blur always independently from the device settings? Both UIVisualEffectView and custom control are applicable. And both swift and objC solutions are applicable
You can prevent Acessibility from applying to a view by using:
self.accessibilityElementsHidden = YES;
This being said, you shouldn't go against Human Interface Guidelines. There is a good reason why accessibility features exist.
Human Interface Guidelines - Accessibility
Here are some excerpts from Apple's App Store Review Guidelines to explain.
10.1 Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines
10.3 Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iOS Human Interface Guidelines may be rejected

With iPhone 7 and UIFeedbackGenerator, which system actions perform which kinds of taptic feedback?

(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.

Can we use sketch UI elements directly into Xcode?

I am new to sketch 3. I have a hand on experience with Xcode and iOS development.
My question is wether we can directly use sketch elements in xcode or sketch is only used for prototyping the UI?
For example, If I design Label with a text field in sketch then can I used it as UI Label and UITextField in Xcode?
In my experience as a designer that also develops in Xcode any solutions that claim to go directly from Sketch into Xcode either become vapourware after some time or don't provide a very good solution. I assume it's because Auto Layout is quite complicated and fragile.
It's best to just learn iOS development using Storyboards or possibly SwiftUI for layout. There are some elements that you can get from Sketch into Xcode such as colors, typography and iconography.
Here's a list of apps that can help you with that:
Zeplin: Handoff designs and styleguides with accurate specs, assets, code snippets automatically. https://zeplin.io
InVision: Prepare designs for development. https://www.invisionapp.com/feature/inspect
Avocado: Open designs without design tools. Export images without preparing layers. Click on layers to get code.
https://avocode.com/hand-off-and-inspect
Flawless: A tool to compare the expected design and the real app right inside iOS Simulator (useful for designers who use Xcode or
mobile developers). https://flawlessapp.io
Sketch to Xcode: The fastest way to get colors from Sketch to Xcode. https://sketchtoxcode.com
Disclaimer: I'm the maker of this app.
There is not a way to integrate the sketch elements in xcode, you can use a sketch plug-in you can buy:
https://www.paintcodeapp.com/sketch
I had the same problem, the design was already prepared in the Sketch and wanted to get the code from it easily. My friends and I've working on a solution for converting design into UI codes, last 2 years.
We've developed Monday Hero platform to improve the development phase and actually save time for repetitive code. https://www.mondayhero.io
In Monday Hero, you can upload design and get responsive code with Storyboard, Xib or only code options. You can also select the elements on the design, group them as you wish for your code library and download it easily in like 15 minutes :) It was a dream of me to get the UI code that easily, I hope it can be also useful to you.

Apple's 44x44 touch size minimum; smaller height and longer width acceptable?

So I just submitted my first app. The design elements (text fields) I am concerned about are 30x90. Should I have a problem with apple's minimum button size request?
Apple publishes their Human Interface Guidelines to give you as a developer some insight into the best practices used by their own designers. By following the guidelines, you will make your app feel more "familiar" to users. There are definitely situations where it is acceptable to bend or break these rules, and unless your app is outright hard to use, it won't be rejected by Apple.
Source: I have multiple apps in the app store, and have broken the Human Interface Guidelines in some small way in each of them.
tldr; Your app won't be rejected based on your UITextField size.

iOS 5 Reading Text Programmatically with Accessibility

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.

Resources