Slide 1

Slide 1 text

Adapting iOS 8 Aviel Lazar @aviellazar   TLV iOS Developers Meetup

Slide 2

Slide 2 text

Your iOS7 apps •  Work! •  Don’t look deprecated •  And yet…

Slide 3

Slide 3 text

Privacy Permissions Attack

Slide 4

Slide 4 text

Permissions Attack #1 Camera

Slide 5

Slide 5 text

Always vs. While in Use Permissions Attack #2 Location

Slide 6

Slide 6 text

Permissions Attack #3 •  Permission Required – NEW: Local Notifications – Push Notifications •  No Permission Needed: – Silent Push Notifications •  Gotcha: New API! registerUserNotificationSettings:notificationSettings  

Slide 7

Slide 7 text

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/

Slide 8

Slide 8 text

Push Notifications

Slide 9

Slide 9 text

In App Purchases •  Ask to Buy feature of Family Sharing – New transaction state – Deferred

Slide 10

Slide 10 text

•  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

Slide 11

Slide 11 text

Keyboard Height Accessory View Displayed Above that

Slide 12

Slide 12 text

Condensing Bars

Slide 13

Slide 13 text

UI Adaptivity •  Canvas Space vs. Orientation •  Regular vs. Compact

Slide 14

Slide 14 text

UI Adaptivity

Slide 15

Slide 15 text

UI Adaptivity •  UITraitsCollection – horizontalSizeClass – verticalSizeClass – displayScale – userInterfaceIdiom

Slide 16

Slide 16 text

UI Adaptivity •  Adaptive View Controller - UITrairtsEnviorment –  UIPresentationController •  Popover •  AlertsView,ActionSheet •  Search •  Custom –  UISplitViewController •  Adaptive Image Assets " [UIImage named: ”Cart” " inBundle: nil " compatibleWithTraitCollection: self.traitCollection]"

Slide 17

Slide 17 text

UI Adaptivity Gotcha •  [[UIScreen mainScreen] bounds] – Is now orientation aware!

Slide 18

Slide 18 text

UITableView Dynamic Text Support

Slide 19

Slide 19 text

UITableView Cells •  rowHeight •  Delegate •  Self Sizing Cells (Dynamic Type) – Auto Layout – sizeThatFits: is height for width – table.View.rowHeight =44 (gotcha) – tableView.estimatedRowHeight = 44

Slide 20

Slide 20 text

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..postMessage();"

Slide 21

Slide 21 text

WKWebView

Slide 22

Slide 22 text

Modern Objective - C •  instanacetype –  (instancetype)initWithFrame:(CGRect)frame; " •  Properties vs. method notations ! !"

Slide 23

Slide 23 text

iTunes Connect •  iTunes Connect Analytics –  App Page Views –  Website Links –  Campaign Links •  App Bundles –  Only for paid apps –  Complete my bundle

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Hidden Gems & More… •  Localization –  XCode will Import/Export XLIFF files –  Previews (RTL support) •  Instruments –  Network profiling

Slide 26

Slide 26 text

Thank You We’re Hiring! [email protected]