Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Adapting iOS8

Adapting iOS8

Guidelines, gotchas and some cool stuff to consider when making your app ready for iOS8

64a4d16ad34c0059fc5d46475f47f0a0?s=128

Aviel Lazar

July 15, 2014
Tweet

Transcript

  1. Adapting iOS 8 Aviel Lazar @aviellazar   TLV iOS Developers

    Meetup
  2. Your iOS7 apps •  Work! •  Don’t look deprecated • 

    And yet…
  3. Privacy Permissions Attack

  4. Permissions Attack #1 Camera

  5. Always vs. While in Use Permissions Attack #2 Location

  6. Permissions Attack #3 •  Permission Required – NEW: Local Notifications – Push

    Notifications •  No Permission Needed: – Silent Push Notifications •  Gotcha: New API! registerUserNotificationSettings:notificationSettings  
  7. 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/
  8. Push Notifications

  9. In App Purchases •  Ask to Buy feature of Family

    Sharing – New transaction state – Deferred
  10. •  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
  11. Keyboard Height Accessory View Displayed Above that

  12. Condensing Bars

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

    Compact
  14. UI Adaptivity

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

  16. UI Adaptivity •  Adaptive View Controller - UITrairtsEnviorment –  UIPresentationController

    •  Popover •  AlertsView,ActionSheet •  Search •  Custom –  UISplitViewController •  Adaptive Image Assets " [UIImage named: ”Cart” " inBundle: nil " compatibleWithTraitCollection: self.traitCollection]"
  17. UI Adaptivity Gotcha •  [[UIScreen mainScreen] bounds] – Is now orientation

    aware!
  18. UITableView Dynamic Text Support

  19. UITableView Cells •  rowHeight •  Delegate •  Self Sizing Cells

    (Dynamic Type) – Auto Layout – sizeThatFits: is height for width – table.View.rowHeight =44 (gotcha) – tableView.estimatedRowHeight = 44
  20. 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();"
  21. WKWebView

  22. Modern Objective - C •  instanacetype –  (instancetype)initWithFrame:(CGRect)frame; " • 

    Properties vs. method notations ! !"
  23. iTunes Connect •  iTunes Connect Analytics –  App Page Views

    –  Website Links –  Campaign Links •  App Bundles –  Only for paid apps –  Complete my bundle
  24. 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
  25. Hidden Gems & More… •  Localization –  XCode will Import/Export

    XLIFF files –  Previews (RTL support) •  Instruments –  Network profiling
  26. Thank You We’re Hiring! aviel@chegg.com