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

Aviel Lazar

July 15, 2014
Tweet

Other Decks in Technology

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