View
841
Download
2
Category
Tags:
Preview:
DESCRIPTION
Guidelines, gotchas and some cool stuff to consider when making your app ready for iOS8.
Citation preview
Adapting iOS 8
Aviel Lazar @aviellazar
TLV iOS Developers Meetup
Your iOS7 apps
• Work!
• Don’t look deprecated
• And yet…
Privacy Permissions Attack
Permissions Attack #1 Camera
Always vs. While in Use
Permissions Attack #2 Location
Permissions Attack #3
• Permission Required – NEW: Local Notifications – Push Notifications
• No Permission Needed: – Silent Push Notifications
• Gotcha: New API! registerUserNotificationSettings:notificationSettings
Best Practices
• Prompt in context
• Specify the purpose • NEW: Privacy settings link !UIApplicationOpenSettingsURLString""http://techcrunch.com/2014/04/04/the-right-way-to-ask-users-for-ios-permissions/
Push Notifications
In App Purchases
• Ask to Buy feature of Family Sharing – New transaction state – Deferred
• Payment is neither purchased or failed – Further update will be received – Indeterminate time
• Meanwhile – Allow the user to use the app – Repurchase allowed
Deferred Transaction
Keyboard Height
Accessory View Displayed Above that
Condensing Bars
UI Adaptivity
• Canvas Space vs. Orientation • Regular vs. Compact
UI Adaptivity
UI Adaptivity
• UITraitsCollection – horizontalSizeClass – verticalSizeClass – displayScale – userInterfaceIdiom
UI Adaptivity • Adaptive View Controller - UITrairtsEnviorment
– UIPresentationController • Popover • AlertsView,ActionSheet • Search • Custom
– UISplitViewController
• Adaptive Image Assets "[UIImage named: ”Cart” "inBundle: nil "compatibleWithTraitCollection: self.traitCollection] "
UI Adaptivity Gotcha
• [[UIScreen mainScreen] bounds] – Is now orientation aware!
UITableView Dynamic Text Support
UITableView Cells
• rowHeight • Delegate • Self Sizing Cells (Dynamic Type)
– Auto Layout – sizeThatFits: is height for width – table.View.rowHeight =44 (gotcha) – tableView.estimatedRowHeight = 44
WKWebView
• It’s the Safari WebView – Multi Process , Gestures, Fast JavaScript
• Powerful integration for Hybrid Apps: • Navigation Delegate • User scripts • Script Messages
– JSON "– window.webkit.messageHandlers.<name>.postMessage(); "
WKWebView
Modern Objective - C
• instanacetype – (instancetype)initWithFrame:(CGRect)frame; "
• Properties vs. method notations ! !"
iTunes Connect
• iTunes Connect Analytics – App Page Views – Website Links – Campaign Links
• App Bundles – Only for paid apps – Complete my bundle
App Previews
• 30 Seconds • Shows UI/Functionality • Easily Capture
- OS X Yosemite and iOS 8 • Can Do:
– Narrations • Don’t Do:
– Hands – Prices – Copyright infringement
Hidden Gems & More…
• Localization – XCode will Import/Export XLIFF files – Previews (RTL support)
• Instruments – Network profiling
Thank You
We’re Hiring! aviel@chegg.com
Questions ?
Recommended